#margielamadman_api

1 messages · Page 1 of 1 (latest)

karmic folioBOT
#

👋 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/1337164918662631434

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

restive coralBOT
cloud pilot
#

So to summarize the main isssue is, Users can onboard with stripe, then get returned to my site, user then tries to access the stripe dashboard to see it info etc but cannot. Doesnt make sense since how can u add details if your not even able to access a dashboard

bold moon
#

Hi there 👋 it sounds like the accounts aren't completing onboarding though? Since requirements.currently_due isn't empty, and both payouts_enabled and charges_enabled are false.

cloud pilot
#

yea, then how come i able to complete the onboarding process is what i mean

#

like i enter in all the required info that then redirects me back to my website from the stripe hosted onboarding. so say if there was more info required wouldnt it not let me compelete onboarding? And if there is missing info there no way for a user to go back and access to complete it?

bold moon
#

I'm not sure I'm following. Do you have examples of Account objects where you saw this behavior that you can share? Along with the ID of the requests that returned errors, and the contents of the Account's requirements hash when that was encountered?

cloud pilot
#

let me explain better

#

I've set up Stripe Connect Express for my platform, and users can successfully onboard using the Stripe-hosted flow. However, even after completing all required steps, their accounts don’t have payouts or charges enabled (payouts_enabled: false, charges_enabled: false).

The issue:
Onboarding allows completion even when details are missing. If required info was actually missing, shouldn't it stop onboarding instead of letting users complete it?
I can't access the Express dashboard to fix anything.
When I try generating a login link (stripe.accounts.createLoginLink(accountId)), it fails because the account hasn’t "completed onboarding."
But since onboarding returned me to my site, I assumed it was completed.
I checked account status via API (stripe.accounts.retrieve(accountId)), and it shows:
json
Copy
Edit
{
"id": "acct_1QpREEDC87WIurwK",
"details_submitted": false,
"payouts_enabled": false,
"charges_enabled": false,
"requirements": {
"currently_due": ["individual.verification.document", "external_account"],
"errors": []
}
}
So onboarding wasn’t actually completed, but I have no way to access it again to finish.

#

What I need help with:
How can I let users re-enter onboarding to fix missing details?
Why does Stripe return users to my site if onboarding isn't actually complete? Shouldn’t it block them from proceeding until all requirements are met?
Is there a way to force onboarding re-entry via API when details_submitted: false?

bold moon
#

Can you put that Account ID back? It's hard for me to look at the specifics of what happened without specific object IDs.

#

Thank you

cloud pilot
#

i can send my functions if that would be any help

bold moon
#

Hm, I would have expected to see account.updated Events for that account if the onboarding flow had been accessed and completed, but I'm not seeing any.

So it looks to me like the hosted onboarding flow wasn't accessed and completed.

#

Yeah, even TOS acceptance is missing for that account, which is handled by the hosted onboarding flow.

cloud pilot
#

here is how its logged in firebase

stripeAccount
(map)

createdAt
February 5, 2025 at 11:38:32 PM UTC-5
(timestamp)

email
"**********@gmail.com"
(string)

lastUpdated
February 5, 2025 at 11:38:32 PM UTC-5
(timestamp)

type
"express"
(string)

"acct_1QpREEDC87WIurwK"
(string)

stripeAccountId

stripeAccountStatus
(map)

chargesEnabled
false
(boolean)

connected
true
(boolean)

detailsSubmitted
false
(boolean)

payoutsEnabled
false
(boolean)

stripeCreatedAt
February 6, 2025 at 4:18:37 AM UTC-5
(timest

bold moon
#

That seems odd, how is the lastUpdated timestamp before the Account was created?

cloud pilot
#

so also in my stripe developer sandbox, i am able to see the stripe account that was created in the connect dashboard

bold moon
#

I'm not sure I understand what you're trying to show me with your code. As far as I can tell, the Account you shared an ID for did not access the Account Link you created and complete the onboarding process.

cloud pilot
#

just showing my function that handles stipe connectr and the onboarding process

#

would it be because im testing with in a sandbox

bold moon
#

No, based on the Account you shared with me, it's because the Account Link wasn't used to access the Hosted Onboarding flow and complete the onboarding process.

One thing I did notice, is that you use the same URL for both your refresh_url and return_url when creating the Account Link:
https://dashboard.stripe.com/test/logs/req_f6NuSHHSVfmSRi
Do you have a separate function on that page to handle when it's hit from the refresh_url (meant to be used to generate a new Account Link in case the previous one expired) versus when it's hit as a return_url (after the account owner completes the onboarding flow)?

karmic folioBOT
cloud pilot