#mike_docs
1 messages · Page 1 of 1 (latest)
👋 Welcome to your new thread!
⏲️ We'll be here soon! We typically respond in a few minutes, but in some cases we might need a bit more time (e.g., server's busy, you've got a complex question, etc.).
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can 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/1260190316934467736
📝 Have more to share? Add details, code, screenshots, videos, etc. below.
Hmm, generally would reflect the enabled countries here: https://dashboard.stripe.com/test/settings/connect/onboarding-options/countries
Sign in to the Stripe Dashboard to manage business payments and operations in your account. Manage payments and refunds, respond to disputes and more.
That's it. There are only 42 countries in total?
for example "Brasil", "Argentina", "South Africa", "India"...
China
Well we're not available in 4 of those options: https://stripe.com/global
Once Stripe is supported in your country, you’ll be able to accept payments from customers anywhere in the world.
I suspect that Brazil isn't available for your platform country
Can you share your OAuth URL here
you mean the client_id and state?
The full URL you're using
Any reaosn why you're using OAuth?
well, we've started with that. we are planning to use embedded components
and potentially to use api to preset the address
FWIW, I see an extensive list of countries (including Brazil) in the UI so not sure what is 'limited' exactly?
So even I don't see Brasil among the "42 selected countries" in the** Settings / Connect**, it can still be selected...? 🤷♂️
Those options are irreleant for standard accounts (they only apply to Express, as per the screenshot you sent)
omg - I can see it now. So standard accounts are always available in all supported countries, right?
If you use the OAuth flow yes you can't control the available countries
how would you recommend to change the onboarding to have maximal control but still keep Stripe's validation and negative balance liability?
we planned to use this settings
Depends what you mean by 'control' and 'Stripe's validation'? In the API integration path you can have more granular control over the account level settings: https://docs.stripe.com/connect/migrate-to-controller-properties
Learn how to work with account controller properties instead of specifying account types.
But you can't do that with OAuth, so you'd need to use the Accounts API directly
but it can still be Standard account, right?
Well in the world of the controller properites there's no concept of a 'standard' account. Standard account previously just mean an account that paid the fees, had full Dashboard access and was liable for disputes/refunds
Now you can have more granular control over that, so perhaps you want them to have full Dashboard access but the platform pays Stripe fees
You can still just use type: 'standard' with the API though yes
Ok, if I describe what we want achieve, would you be able to recommend right setup for us?
Is it not clear from the docs I linked? I'd recommend reading through that, and I can answer any Qs
We will definitely run though it however I would appreciate short description here and just some hints.
OK
give me a second I will write short summary
We develop B2B platform.
Onboarding flow:
- every new user register to the platform is a (Stripe) customer for us
1a) country is mandatory on our platform
1b) postal code is mandatory where available and/or required by Stripe taxes
1c) address is mandatory only when required by Stripe taxes (some US states) - user can opt-out to be also the a seller
2a) connect to new/existing Stripe account
2b) we need to know if the user uses same address as they used in steps 1a-1c
Not really sure what the questions are there. Most, if not all, of that info is collected during onboarding and available via the API in some scenarios
the questions are:
2a - if the user has no account yet can we control the account type and specifically the address (1a-1c)?
2b - according to another Q/A here the webhook on connected account update does not contain billing address so the customer in our system can have different address than seller on stripe
2a - if the user has no account yet can we control the account type and specifically the address (1a-1c)?
Yes, via Account creation. To be clear, in the optimal onboarding flow a new account will always be created
according to another Q/A here the webhook on connected account update does not contain billing address so the customer in our system can have different address than seller on stripe
As I said, in some scenarios information regarding the person(s) on the account is available via the API. But we don't collect a 'billing address' during onboarding, just the address(es) of the people/legal entities
So sure, seems plausible that they could pay with a card that has a different billing address to the address regsitered with the account
ok. it would be no problem but those "people/legal entity" addresses are part of the webhook payload so we can compare with the address used in our system?
Information about the person represented by the account. This property is null unless business_type is set to individual. After you create an Account Link or Account Session, this property is only returned for accounts where controller.requirement_collection is application, which includes Custom accounts.
https://docs.stripe.com/api/accounts/object#account_object-individual
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
All good until "... which includes Custom accounts". Does this mean that it works only with Custom accounts or all account types (including Custom)?
Frankly speaking we want to reduce our responsibilies to minimum and to my understanding the Standard account is the only way to achieve this. With Express or Custom accounts we have higher responsibilites, right?
It means those fields are only included in API responses where controller.requirement_collection is application, which comes back to the granular controls I was talking about
Yes, generally speaking standard accounts will have significantly less burden on the platform as they're ultimately responsible for their disputes, refunds, balance, etc
ok, can you please sumarize all docs we should go through step-by-step to have full scope of necessary information? thank you very much
hi! I'm taking over this thread.
can you clarify what you mean by " full scope of necessary information"?
As I wrote before - we want to have control over the onboarding flow (steps 1a-2b) and still want to leave the reponsibility on the connected account. In case the user will create the connected account with different information than they used during registration to our platform we would block their account in our platform (not the stripe account of course) so they will not be able to use it.
I still don't understand what is you question. do you want to get access to all field of the connected account, like individual that was mentioned earlier in the conversation? if so, you would need to use controller.requirement_collection: application to get access to these information.
At the beginning we planned to create the custom accounts via API so we developed lots of UIs for many stripe features. However later we decided not to use Custom but Standard accounts but still need to collect all possible information from the connected account (and to be informed in case of update via webhook). we would like to access as many information as possible but for the time being we need at least: full address of the business/person-registration (the real address of the company used during Stripe account creation). It would be also great to have access to the tax-registrations as we could display them in our UI so the user can have unified UX and UI for this part. I hope it helps to clarify our intentions and needs.
you can find the company address here: https://docs.stripe.com/api/accounts/object#account_object-company-address
but as mentioned in the doc, it's only if controller.requirement_collection: application