#Sharvari96
1 messages · Page 1 of 1 (latest)
Hi there, you can create an Express account through API, but you need to go through the onboarding process so that the account can be verified and ready to collect payments.
and we cannot do it with our own UI - we need use the Stripe Link that gets generated with this API -
stripe.AccountLink.create(
account=account_id,
refresh_url="https://example.com/refresh",
return_url="https://example.com/return",
type="account_onboarding",
)
So you want your users to complete the onboarding through your own UI?
OK, although I'd strongly suggest you to use AccountLinks API for onboarding, you can create your own onboarding flow if that's what you want to do.
can you share the documentation for that and the flow that would be required?
https://stripe.com/docs/api/accounts/update#update_account you can use the update API to update the account with required info.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
One more question - this payment is failing. Can you help me with it:
Stripe Account region - US, connect account region - India.
Action - trying to make a payment to the connect account via a card.
flow - Desination Charges
intent = stripe.PaymentIntent.create(
amount=1000,
currency="usd",
automatic_payment_methods={"enabled": True},
transfer_data={"destination": "acct_1NJDOPPxtJyeJZXO"},
)
error - No such payment_intent: 'pi_3NKZYvLbsWAvIKo92vata0DZ'
@spiral token
Hi! Can you share the request ID (req_xxx)? Here's how you can find it: https://support.stripe.com/questions/finding-the-id-for-an-api-request
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
req_6gXjs0poGckrFI
"Stripe doesn't currently support destination charges with accounts in IN.",
I see this response message
That's right, destination charges isn't supported with accounts in IN.
https://support.stripe.com/questions/stripe-india-support-for-marketplaces you can find more about the Connect availability for India here
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
When I try to use direct charges like this - I get this error:
intent = stripe.PaymentIntent.create(
amount=1000,
currency="USD",
automatic_payment_methods={"enabled": True},
# transfer_data={"destination": 'acct_1NJDOPPxtJyeJZXO'},
description=f"payment_method_id",
customer="cus_O5RBwmCDXKPEW9",
stripe_account="acct_1NJDOPPxtJyeJZXO",
payment_method=payment_method_id
)
"message": "As per Indian regulations, export transactions require a customer name and address. More info here: https://stripe.com/docs/india-exports"
can you tell me how to specify the address?
As the error message explained, you can visit https://stripe.com/docs/india-exports to find out the details.
Opt in to exports: In the account application, check the applicable box under the ‘I am exporting products to customers located outside India’ section. If you don’t opt in, you’ll only be able to make export charges in test mode. This option is only available for users with legal entity sole proprietorship, company, and LLC. (individuals are excluded)
- by users - do you mean - Stripe Platform Account or Stripe Connect Express account?
I have platform account which will be registered as LLC but express connect accounts will be in India and onboarded as individuals
@spiral token
Hi. I wish I could help, but this chat is focused on developers and technical questions. Our support team will be able to assist you better than I can: https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Ok - I am trying to follow the accept international payment docs -
https://stripe.com/docs/india-accept-international-payments#international-payments-for-services
is the API key here that of the platform account or the connect express account?
You should never directly use the API key from the connected account.
Also I have created customer just like in the docs -
stripe.Customer.create(
name="Jenny Rosen",
address={
"line1": "510 Townsend St",
"postal_code": "98140",
"city": "San Francisco",
"state": "CA",
"country": "US",
},
)
and mentioned th customer ID in the payment intent creation -
intent = stripe.PaymentIntent.create(
amount=1000,
currency="USD",
automatic_payment_methods={"enabled": True},
# transfer_data={"destination": 'acct_1NJDOPPxtJyeJZXO'},
description=f"payment_method_id",
customer="cus_O5RBwmCDXKPEW9",
stripe_account="acct_1NJDOPPxtJyeJZXO",
payment_method=payment_method_id
)
Hmm, are you creating a direct charge?
There's no need to always tag me, I'll still answer your questions.
Tagging me doesn't make me answer your questions faster.
What's your latest question?
ok i am sorry, because I replied after delay I tagged you. Will not do that again
direct charge to express account with region India is nto working
"message": "As per Indian regulations, export transactions require a customer name and address. More info here: https://stripe.com/docs/india-exports"
I have mentioned the address in the customer account and given the customer ID in the payment Intent
as mentioned above
req_Kd9AALhIs9Gpsm?t=1687149765
I just checked cus_O5RBwmCDXKPEW9, its address is emtpy.
can direct how to create customer on stripe connect account which API key I should use?
It's the same Customers API, you just need to specify the connected account ID in the stripe_account param.
ok - i used this address:
customer = stripe.Customer.create(
name="Sharu",
address={
"line1": "Ullal Main Road",
"postal_code": "560056",
"city": "Bangalore",
"state": "KA",
"country": "IN",
},
stripe_account="acct_1NJDOPPxtJyeJZXO"
)
and this customer id - cus_O6o1Gvo02uZRO4
I am getting error -
Your postal code is incomplete.
however 560056 is a valid postcode in india
request ID?
it's easily for me to troubleshoot if you can share with me the request ID
yeah I am sorry about that was a bad question
the actual issue was something else - but now I am facing this issue:
"message": "You cannot create a charge on a connected account without the card_payments capability enabled."
"type": "invalid_request_error"
req_L5phcqnmv39rPH
I tried enabling card payments capability - but it gives me this issue -
You cannot request any capability other than transfers for accounts that are under the recipient service agreement. For more information on recipient service agreements, see https://stripe.com/docs/connect/service-agreement-types#recipient.
but based on our earlier discussion - to enable cross border payments - we need to have agreement type - reciepient right?
what I am trying to accomplish is - to make a payment from the platform to the connect account that's alll - thats the aim..
can you guide me on that
Is your connected account a Standard connected account?
I'd suggest you to read through article https://support.stripe.com/questions/stripe-india-support-for-marketplaces the first item in the list says We only support Standard Connect
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
well the platform account is in US
and the connect account is in INDIA - the dashboard allowed me to create a express account based in India, I also confirmed the same with Stripe Support
Can you try creating a Standard IN account instead?
ok let me try that
I did that - created a standard account as Individual in India.
now trying the direct charges again -
intent = stripe.PaymentIntent.create(
amount=1000,
currency="USD",
automatic_payment_methods={"enabled": True},
# transfer_data={"destination": 'acct_1NJDOPPxtJyeJZXO'},
description=f"software development services",
customer="cus_O6oe1VHRDw14sl",
stripe_account="acct_1NKaquSB3C5v0NdW",
payment_method=payment_method_id
)
failing with error - Request req_1jUD2ktxhxsztk: No such PaymentMethod: 'pm_1NKb48PxtJyeJZXO30y3C3PB'
i am creating payment method from the client side using the publishable key of the platform account...
It failed because this PaymentMethod was created in another account, not the platform.
You might want to double check the publishable key.
Even if it's created on platform, you should also clone it to the connected account before creating a direct charge
I dont understand - this needs to be done on the server side or client side?
also -
const paymentMethod = await stripe.paymentMethods.create({
customer: '{{CUSTOMER_ID}}',
payment_method: '{{PAYMENT_METHOD_ID}}',
}, {
stripeAccount: '{{CONNECTED_ACCOUNT_ID}}',
});
how do I payment method ID even before creating it?
How did you create the payment method in the first place?
in the client side
https://stripe.com/docs/connect/authentication#adding-the-connected-account-id-to-a-client-side-application you can specify the connected account ID in the client ID so that the payment method will be created on the connected account directly
I did that - now I am getting a different error -
As per Indian regulations, only registered Indian businesses (i.e. sole proprietorships, limited liability partnerships and companies, but not individuals) can accept international payments. More info here: https://stripe.com/docs/india-exports
I have already confirmed from stripe support regarding this!!
But you just created the new Standard account right?
OK, I mean did you check with stripe support on the newly created Standard account?
ok
I will check on that
Okay! the direct charge succeed I had to set the service agreement type and also do the charge in INR instead of USD.
now can confirm if this cannot be done in a Express account?
https://support.stripe.com/questions/stripe-india-support-for-marketplaces according to public doc, Express account isn't supported
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Also, can you confirm to me if I can transfer amount from Stripe Platform account (US) balance to the connect account in India?
and how to do that?
https://stripe.com/docs/api/transfers/create#create_transfer you can try the transfers API
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
following issues -
stripe.error.InvalidRequestError: Request req_Jji1rwmM1qs5Eg: Funds can't be sent to accounts located in IN when the account is under the full service agreement. To learn more, see https://stripe.com/docs/connect/service-agreement-types.
I thought the service agreement type was already set, inorder to do the direct charges, anyways I tried doing that again, I am facing this issue -
stripe.error.PermissionError: Request req_258Y6hMGi75ogc: This application does not have the required permissions for the parameter 'tos_acceptance' on account 'acct_1NKaquSB3C5v0NdW'.
can you check this response from Stripe Support team - they said it is possible -
should I start a new thread for these questions?
I will do that - start a new thread for the transfers questions. Thank you for all your help and patience
Ok, let us continue here itself
Then you can continue the discussion with Stripe support.
The information I have (
https://support.stripe.com/questions/stripe-india-support-for-marketplaces ) says Express account isn't supported.
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Perhaps Stripe support has other ways to make it work.
Hi @chrome carbon I've re-opened the thread
I see. you can't set Service agreement types on Standard account
Therefore I can't think about a way to create a Transfers on a Standard IN account.
any other way in which I can move funds from stripe platform account to connect standard account?
from the account balance I mean
No. I don't think there's a way for IN Standard account.
Maybe you want to chat with Stripe support and see if they have a better answer?
Ok.
I will do that -
what is the difference between Direct Charge and Destinationc charge?