#melarts_docs
1 messages · Page 1 of 1 (latest)
👋 Welcome to your new thread!
⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1428737776400207912
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
hey there
- Can you please confirm whether there is any way to distinguish (via the redirect or any API signal) between:
-a user who simply clicked the back arrow or closed the onboarding early, and
-a user who actually went through the full onboarding
No explicit indication of the flow they followed, no. The signal is whether all therequirementshave been fulfilled, which you can inspect on the Accounts API.
- Is it possible that an account which went through the full onboarding process (and reached the final confirmation screen) could still have details_submitted = false?
Yes, if they filled everything in but did not hit "submit" and instead used the "back to platform" button to abort
so you say that if they clicked on "submit" then account will 100% have details_submitted to true ?
- If so, what is the recommended approach in that case?
Should we continue redirecting the user back through the onboarding flow until details_submitted becomes true, or is there another preferred way to handle this scenario?
For an express account, yes, you need to tell them they must finish the onboarding flow and present another account link to follow. If all requirements are fulfilled except for tos acceptance, then you might offer explicit guidance that they must "submit" at the end. This feels like an edge case, though.
In most cases, yes that should be true. I'm sure there are exceptions though, like additional requirements perhaps for identity verification reasons. But for the bulk of accounts hosted onboarding should collect everything required and they'd be submitted at the end.
“Stripe issues a redirect to this URL when the connected account completes the Connect Onboarding flow. This doesn’t mean that all information has been collected or that there are no outstanding requirements on the account. This only means the flow was entered and exited properly.”
so this paragraph applies only if the user clicked the button "back to plaform.." ?
No it could also apply in those edge cases where additional information is needed to confirm identity, even after they initially submitted.
eg, if we require an identity document or full tax identifier instead of partial etc.
What are you really trying to do?
mmmmh... So for the edge cases, we should let them go through the onboarding flow once again?
I wanted initially to be able the differenciate the return url where the user clicked on back to the platform and the retrun url where the user went through the full process. Because I need to do some internal configurations to establish on our side that the onboarding was really finished so that our customers with the connect account use properly our app with the payment.
It is a problem for me if I can't really make the difference
My point is , I need to know how i can consider all is is or sufficient for the accounts to be usable
You can tell by looking at the Accounts API and checking the requirements and whether the various capabilities you need are active or not
Fundamentally that is what matters: are there outstanding requirements and is the account ready for payments/transfers etc
And that means looking at those specific details rather than thinking about the flow by which they got to your URL
alright.. in the old method with oauth there was no back arrow so our flow was not made to handle that
whats the link between details_submitted, charges_enabled and requirements then?
They are related but separate things.
details_submitted is roughly an indication of the initial onboarding flow being completed, ie did they enter everything and submit the form.
requirements is a collection of requirements, both current and future, and details about those.
charged_enabled is an indicator if the account is currently able to create payments.
details_submitted if this is false but they submitted, can I invite them again to the onboarding link?
same question for requirements
I don't think details submitted would be false if they submitted at the end of the flow, it seems like that should move to true in that case. Do you have an example of this?
If there are more requirements, then yea you could send them to another account link to collect details
no i don't but this is what I understand from you no? when you said "No it could also apply in those edge cases where additional information is needed to confirm identity, even after they initially submitted."
Yes, they could have submitted all details during onboarding, submitted, been redirected, and now due to some identify verification there are more requirements
identity & verification is an ongoing process, not a one time thing
that said, once initial onboard and any follow up is complete, new requirements should be infrequent, roughly speaking
but can and do happen, for example when new regulations are passed in regions and new information must be collected
for the new future requirement, i'm good! My goal/concern is only the requirements during the onboarding process
and now due to some identify verification there are more requirements
you mean right after the return from the onboarding? because they were able to skip this part during the onboarding?
during the onboarding in test mode, you can't skip any part otherwise you can't submit so I don't know if there is a difference with production mode
It's more like an async check against what they submit, we try to verify the the details they gave us and might require more info to complete that.
Righ after they submit, you'll probably find the requirements are fulfilled, but some are in pending_verification, so the account is not yet fully enabled even though they fully completed the initial flow:
https://docs.stripe.com/connect/handle-verification-updates#listen-for-account-changes
After an account has gone through your onboarding flow, inspect the currently_due and pending_verification lists in the account’s requirements hash. When both are empty, and requirements.disabled_reason is null, you can enable functionality for the account.
Okay
To be honest after all these informations, I'm still not sure what's my best option is 😭
I'll be tented by checking details_submited true/false and if false, still allow the user to go through onboarding process, but I'm not sure
do you confirm that during production onboarding mode, the users can skip some requirements?
I go back to: what are you trying to do? what decision are you trying to make?
if the details are submitted and there are requirements pending_verification you need to wait before enabling the account on your side.
If all requirements are satisfied, nothing pending, then you can enable the account. This should also match charges_enabled and/or payouts_enabled being true/false depending on what is outstanding or pending.
If there are more currently_due requirements, then you send the suer back to onboarding
it doesnt matter whether they submitted previously or not, you need to collect those details
i want to store in our db the fact that they can use the online payment in our app, and initialize some settings + call createLoginLink
in our previous mode we were doing all of this after the user clicked on submit. And we were not checking any pending_verification etc etc.
So I guess it was working even though they did not submited and validated everything
that is why I am so attached to differenciate the fact that they click on return to platform
we didn't had the full check, only the fact that they submitted but at least we knew that they went until the final process and that was all that mattered
Right, so you can probably use details_submitted as a loose proxy for "finished the flow" the first time you redirect them, but really you need to focus on the requirements and capabilities/charges enabled as the meaningful information.