Seamless, automatic multisite domain purchasing and mapping

I want my users to have a seamless, branded experience creating their websites via my multisite install.

What I want:

1. They arrive at my primary domain (primary.com)
2. They register a new site (user.primary.com)
3. They purchase their domain name (userdomain.com) via primary.com without seeing any other domain registrar info--they only ever see their domain name, nothing else.
3. Their new domain (userdomain.com) automatically maps to their subdomain (user.primary.com)
4. They use, view, and edit their site via user.com and user.com/wp-admin

Currently, I have a new multisite install on via flywheel.com, which includes a dedicated IP. If I need to switch hosts, I'm up for that. But I really like managed WP hosting for its security and backups.

How do I make custom domains seamless and idiot-proof for my users? I don't want them fussing with ANY techy bits. Better if they never see them at all.

Thanks!