#psygo_webhooks
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/1225114533698211884
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hello! I think the documentation you need is here: https://docs.stripe.com/connect/account-capabilities
Let me know if you have any questions once you read through that!
Cool, thanks, that's helpful indeed.
Happy to help!
I was trying to listen to the capability.updated event just now, good to know it's the one I needed. If I don't specify the capabilities in stripe.accounts.create(...), does it default to enabling them all? And do I always need to specify a country?
It depends on the type of account you're creating. Are you creating Standard, Express, or Custom accounts?
I'm not sure if it's the most appropriate, but right now I'm using Standard.
For Standard you don't need to specify the country when you create the account, nor do you need to specify the capabilities. Give it a try in test mode to see how it works.
Also, I've tried to onboard myself on my app in order to test things out, but I apparently get that I need some more verification done, but I don't get a link on my email about it, and no further info on my dashboard either. How do I proceed?
{
id: 'transfers',
object: 'capability',
account: 'acct_1P1UYVFa45cMDY9c',
future_requirements: {
alternatives: [],
current_deadline: null,
currently_due: [],
disabled_reason: null,
errors: [],
eventually_due: [],
past_due: [],
pending_verification: []
},
requested: true,
requested_at: 1712153609,
requirements: {
alternatives: [],
current_deadline: null,
currently_due: [ 'individual.verification.document' ],
disabled_reason: 'requirements.fields_needed',
errors: [ [Object] ],
eventually_due: [ 'individual.verification.document' ],
past_due: [ 'individual.verification.document' ],
pending_verification: []
},
status: 'inactive'
}
We typically don't send emails in test mode, so no emails is expected in this situation. To send a user back to onboarding to complete the process you can use this approach, where you generate a new Account Link for them: https://docs.stripe.com/connect/standard-accounts#handle-users
Is it possible to complete onboarding in test mode? Because I did finish all the forms and agreed to things (although Stripe autofilled some payment data with test data). Is that not enough still?
Yeah, you can complete onboarding in test mode.
You would need to supply real information for a Standard account.
That's strange, that would make it very difficult to test.
To clarify, you don't need to actually get the account out of restricted state for it to work in test mode.
You can if you want, but it's optional.
For test mode.
Anyways, given that I'm listening to capabilitiy.updated, which field would tell me all onboarding is ok so I can safely update the status of the user as a creator on my platform (DB)? Is it currently_due? Or do I need to check the response of stripe.accounts.retrieve still?
I recommend you listen for account.updated and look at the specific parts of the Account object you care about, which is probably going to be charges_enabled and/or payouts_enabled.
After trying onboarding myself again, I've managed to get back the capabilities through this:
const data: Stripe.Capability = event.data.object
const capabilitiesRes = await stripe.accounts.listCapabilities(
// @ts-ignore
data.account
)
const capabilities = capabilitiesRes.data.map((c) => c.id)
console.log(capabilities)
(I don't know why, but the object I get back from event.data.object seems to hold the account ID in the account field, but its type doesn't seem to have it. That's why I had to add a @ts-ignore.)
I get back 3 capabilities from this:
boleto_paymentscard_paymentstransfers
I don't see charges_enabled nor payouts_enabled.
When onboarding, I don't get account.updated events, I don't think, so how would it be useful?
Can you give me the account ID in question so I can take a look?
acct_1P1X13FVl7aqie2a
All of the capabilities on this account are still pending. There is an account.updated Event that shows this: evt_1P1X48FVl7aqie2aet5c4sgl
That Event has charges_enabled and payouts_enabled because those are properties on the Account object.
The capability.updated Events contain a Capability object, which does not have those properties.
But does the onboarding process trigger account.updated at the end of it for sure? Because then that would be perfect, thanks.
If the status of that account weren't pending, would it then have the charges and payouts enabled?
๐ hopping in here since rubeus has to head out soon
Ah, ok, cool
Thanks a lot for the help, @hidden torrent , you went above and beyond all I was expecting from support.
Happy to help!
I'm not sure if I already fully understand how, from the point of view of my platform I would charge customers on behalf of creators. Does it follow the typical payment intent flow? And then I only add the creator Stripe Connect ID when creating the payment intent ID? If so, having charges_enabled is enough for that, right?
I think this is the last part of the puzzle of creating my platform, but I could open a new thread, if you wish.
it's fine to stick with this thread ๐
Yes, generally you have the right idea - you can create a Payment Intent on the connected account by using the Stripe-Account header (https://docs.stripe.com/connect/authentication#stripe-account-header) set to the connected account ID
If you want a more detailed guide walking through how to implement direct charges for standard accounts you can look at https://docs.stripe.com/connect/direct-charges
And yes, charges_enabled is what you'll want to check to make sure the connected account can make charges
Could you confirm these two last questions, @neon holly? I think they are the last 2 remaining topics.
Ah sorry I missed those - yes, account.updated would be triggered after the onboarding process, however it may take some time for the account to be fully enabled since some verifications/checks happen async
If I weren't in test mode, would I have received an email for the identity verification process? Because I think that's why that account is stuck with the pending status.