#mgreenw - Express Connect

1 messages · Page 1 of 1 (latest)

sour grove
#

Hello! I thought it would always succeed, but let me check to make sure...

#

Looks like those requests only fail if the account is invalid or you supply a bad parameter.

#

An account can be invalid for a number of reasons, like the account not being an Express account, a live mode/test mode mismatch, or Express onboarding not being complete.

covert forge
#

So assuming those things are true (it's an express account and you're using the correct api key / account id), then if details_submitted=true the user will always, without exception, be able to access their stripe express dashboard via stripe.accounts.createLoginLink, even if Stripe is still reviewing the account details and payouts_enabled=false?

sour grove
#

I believe that's the case, yes. Are you seeing something different?

covert forge
#

Thanks so much @sour grove 🙏

sour grove
#

To clarify what those docs are saying, the idea is that you would create an Account Link for them to complete onboarding if it's not complete.

#

Otherwise, if they have completed onboarding, you can give them an Express Dashboard link.

covert forge
#

So if details_submitted=true and payouts_enabled=false, what is the recommend behavior of account link vs login link in these two cases (and how do you tell the difference?):

  1. New account that is onboarding for the first time
  2. Account that previously onboarding and was manually rejected by the platform
sour grove
#

If details_submitted is set to true that indicates onboarding has taken place, so you would not give them an Account Link for onboarding. Instead you would send them to the Express Dashboard.

#

Payouts being enabled or not doesn't really factor into things as far as I know.

covert forge
#

Ok great, so it really all hinges on details_submitted.

To clarify what those docs are saying, the idea is that you would create an Account Link for them to complete onboarding if it's not complete.

Totally, I think the docs are just poorly worded. It potentially shouldn't even mention charges_enabled as that's not really the point here.

Here's my take on what those docs should say, and please feel free to clarify if this is not correct:

A user that’s redirected to your return_url might not have completed the onboarding process. Retrieve the user’s account and check for details_submitted=true to see if they’ve completed the onboarding process. If the account isn’t fully onboarded (details_submitted=false), provide UI prompts to allow the user to continue onboarding later. The user can complete their account activation through a new account link (generated by your integration).

Once details_submitted=true, create a login link to direct the user to the Stripe Express Dashboard. At this point, the account may still be under review or may have other information that needs to be submitted, so be sure to check the relevant requirements, payouts_enabled, and charges_enabled properties depending on the capabilities you requested to see if the account is in good standing. If not, provide the user with a warning and prompts to go to the Express Dashboard to update their information.

sour grove
#

That's not a bad suggestion! I think the docs are worded the way they are now because they need to fit a very broad array of use cases, and most of those use cases hinge on charges_enabled being true or not, but I'll flag your version internally for review! 🙂