#Ralph - account onboarding

1 messages · Page 1 of 1 (latest)

fierce oxide
teal wadi
#

Essentially, when am I checking charges_enabled vs details_submitted

#
A user that is redirected to your return_url might not have completed the onboarding process. Use the /v1/accounts endpoint to retrieve the user’s account and check for charges_enabled.

vs.

You can check the state of the details_submitted parameter on their account to see if they’ve completed the onboarding process.
#

After some minor testing it seems both are set to true when I've completed onboarding but I may be missing some case where they may differ

fierce oxide
#

For the purposes of these accounts collecting payments, charges_enabled is going to be a good shorthand, but it's possible for that to be true and details_submitted to be false, if, for example, they havent provided a payout bank account yet

teal wadi
#

How could charges_enabled be true if they don't have a payout account setup?

fierce oxide
#

Basically they have other information they need to submit to Stripe, similar to reviewing the requirements hash

teal wadi
#

And if that's the case, I should just be checking details_submitted to confirm the account is ready to go?

fierce oxide
#

Because if you've provided other required identity information you can collect payments and accrue a balance in Stripe, even if you havent provided a bank account yet to get paid out

teal wadi
#

Ah OK that's what I was missing I suppose

fierce oxide
#

Right, you can use that if you'd prefer to wait until they've provided all that info, but it isn't strictly necessary

teal wadi
#

So right now I'm essentially having the clients onboard via an admin panel on our website, storing the account ID, and then as long as I check if details_submitted is good on that page they are good to go

#

However in the case that details_submitted is false, I should create a new onboarding url for them

#

?

#
The user can complete their account activation through a new account link (generated by your integration).
#

I guess another point of confusion for me is that if I create a new account link, is it not going to override their previous connected account?

#

Or will Stripe handle that if they enter the same account information as previously

fierce oxide
#

Connect Onboarding handles that -- the user will only need to enter missing information for the account, they won't need to enter everything again

#

You can try that out in test mode by exiting partway through the flow

#

Yes once they get to the point of details_submitted any further verification issues would be resolved directly with Stripe

teal wadi
#

OK I'll do some more testing but I've noticed I've been able to create accounts with the same email but maybe I wasn't far enough in the flow

fierce oxide
#

If you create a new account that's expected, you can re-use eg test@example.com in test mode many times

#

But for the existing account ID, a new account link should re-enter the onboarding flow where the user left off

#

Some information requires completing the whole "page" and submitting it to get saved

teal wadi
#

Ah OK so isntead of this

    $redirectURL = $stripe->accountLinks->create(
      [
        'account' => $account->id,
        'refresh_url' => $refreshURL,
        'return_url' => $returnURL,
        'type' => 'account_onboarding',
      ]
    );

I would use accountLinks->update

#

OR just create with the same id since I don't see an update in the docs

fierce oxide
#

What you have is fine, yea. Create anew Link using the same account id

teal wadi
#

Thank you for all your help, greatly appreciate it

fierce oxide
#

No problem at all -- good luck with the rest of your work!