When a domain registration fails for any reason, we generally auto-remove the domain reg subscription and issue credits to the user's account. However, if the user also purchased G Suite with that domain registration, we don't do anything to that product. Thus we try to provision the domain for a G Suite account but since the domain registration failed, so does the provisioning.
It's possible the Domain Medic may catch these, but it may not catch it in a timely manner. Right now HEs manually register domains (or try to, if possible) that failed initially, but we don't have a system to address when the domain also had G Suite.
Should we auto-remove the G Suite sub along with the domain and issue the appropriate credits? Or rely on the HE manually registering the domain to also address the G Suite sub? Or rely on the G Suite Guild HE to address it via the DM?
For example: 2863708-t
/cc @dzver @chad1008 @rads
If possible, I'd say we should probably lean toward your first suggestion: remove the G Suite and add credits. That way, if the registration failure was due to something the user can fix (incorrect info entered for example) they can retry without waiting for HE intervention. If it fails again, the process would then repeat - restoring the credits are removing the sub.
This issue has been marked as stale because it hasn't been updated in a while. It will be closed in a week.
If you would like it to remain open, can you please you comment below and see what you can do to get things moving with this issue?
Thanks! 馃檹
CC @kelliepeterson @klimeryk
I'd go with auto-removing G Suite as well, if possible. Then when the HE retries (or the user), they can retry the whole process.
I'd go with auto-removing G Suite as well, if possible. Then when the HE retries (or the user), they can retry the whole process.
Even though I suggested this as an option, the only problem with this is that by removing G Suite, the likelihood that they won't be able to purchase the product with us is high because we would've attempted to provision G Suite for the domain already during the first go-round. Even if the domain registration failed, the domain would already have been added to Google's database and we/the user would get that Entity already exists
message.
I've no problem with that, but it does add some friction to the process for the user because after we attempt to provision the domain, and should we be successful, then the user has to then go to Google to complete the process of setting up G Suite.
What about auto-removing it only after the Domain Medic fails to register the domain the 2nd time @klimeryk ?
Thanks for weighing in, @Lochlaer! 馃檱
I'm honestly not that familiar with how Google provisions G Suite, but I kinda assumed that if we failed to register the domain, then Google would reject the provisioning on their part because they'd detect the domain is not registered. If that is not the case, then I guess this becomes a simpler issue - we just check if G Suite subscriptions are X days old (within the refund window) _and_ there's a missing registration sub for the domain. Then we know we have a "orphaned" G Suite subscription and we should remove it and refund the user.
but I kinda assumed that if we failed to register the domain, then Google would reject the provisioning on their part because they'd detect the domain is not registered.
You'd think, right? But nope -- Google will provision a domain, even if the domain isn't registered anywhere, and even send the email inviting them to log in:
It will even let you login, accept the TOS, and activate the domain. However, you do end up having to prove you own the domain anyway:
So that's where the user hits the road block. However, I will say that if we do a 2nd attempt to register the domain and succeed, then I think GARC will recognize it in the GRC and attach the user's domain record with the associated GRC record, if that makes sense.
If you want, @klimeryk I can test that by actually registering that fake domain. Because who couldn't use more fake domains? :-)
So I was curious as to what would happen, so I went through the domain registration flow in WPCOM to attempt to register my fake domain, doesgoogcheckdomains.com. I confirmed in a whois search that the domain was available.
But first, I checked to see if it had a GARC record, and sure enough, it did. Except it had odd TXT records:
I re-confirmed doing a whois search in Terminal that the domain hadn't been registered yet, then went through the process of registering it on WPCOM. When I attempted to add G Suite, it gave me this error at checkout:
I removed G Suite from the checkout and continued.
Once that was done, I refreshed the GARC page, and those mysterious TXT records were gone, replaced by...no TXT records:
I waited a few more minutes, then refreshed the GARC page, but still nothing. And there's nothing in my Store Admin, either, which is obvious anyway in GARC with the No Purchase Meta message.
So in this situation, we would need to have a developer manually add the purchase meta to the domain so that we can connect it to the user's SA, and only then will GARC reflect the right user account. Then we can manually verify the domain in the GRC or use GARC after we've added the purchase meta.
Whew! That is one complicated flow.
Thanks for looking into this thoroughly, @Lochlaer! 鉂わ笍
I'm a bit confused, though - you say that doesgoogcheckdomains.com
was available before purchasing it on WPCOM, but it already had some TXT records? DOES NOT COMPUTE 鉂旔煠栤潛
I can try doing the same exercise, but using my sandbox to ensure that the actual domain registration call fails (but G Suite will succeed, subs will get added, etc.) - this would be pretty much the same situation as if it happened to a customer.
I'm a bit confused, though - you say that doesgoogcheckdomains.com was available before purchasing it on WPCOM, but it already had some TXT records? DOES NOT COMPUTE
I know, weird, right? They weren't even the right TXT records! They were the verification records for Office 365. 馃槙
Hmm, well, I've tested this scenario and it seems it works, just need some fixes in Calypso, since we assume in a few places that the domain is actually registered. Once you fix those, the user should be able to at least see the notice that something went wrong and they should contact support.
And if they just retry the domain registration and it will succeed, G Suite provisioning should succeed finally too (since we retry a few times and hopefully will still do once the domain gets registered). The only friction was that it seems I had to manually verify the domain from GARC.
I've prepared the needed fixes in https://github.com/Automattic/wp-calypso/pull/22361, awaiting review from Cobaltians :)
Now that https://github.com/Automattic/wp-calypso/pull/22361 has been merged and deployed, I'm considering this fixed, but please let me know if there's something more than can be done here.
Thank you! You da best! <3
Most helpful comment
Now that https://github.com/Automattic/wp-calypso/pull/22361 has been merged and deployed, I'm considering this fixed, but please let me know if there's something more than can be done here.