#sahil_connect-payments-mobile
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/1318262304462082059
📝 Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
- sahil_best-practices, 6 days ago, 62 messages
Hi 👋
It sounds like some of the related objects you are referring to do not exist on the account where the charge is taking place.
I would also point out that you should use either the stripeAccount header or the transfer_data.destination parameter. Not both
Can you share some API request IDs for the requests that show this error?
They will start with req_
Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request
oh ok thanks, a little more context, my frontend app has users which are customers under my platform account, and the connectedaccount is who i send the money out to....should the customerID be under the connected account or my account?
req_YSrLKdEZnZ6qgZ : "The 'transfer_data[destination]' param cannot be set to your own account.",
Alright, I think there is some confusion about how these charge approaches work
When you make a Direct Charge, the payment and all the related records need to live on the Connected Account
req_Feusgevak5Z1Ms: No such customer: 'cus_RPMILGaLLsC1y9'
When you make a Destination Charge, the payment and related records live on the Platform account
You seem to be trying to do both, which won't work
I recommend you start by reviewing this document:
https://docs.stripe.com/connect/charges
yea im still having some doubts about which one but im thinking Direct charge is what im looking forr
Direct Charges requires the Customers to be saved on the Connected account
For https://dashboard.stripe.com/test/logs/req_YSrLKdEZnZ6qgZ the error message is pretty obvious. You cannot specify your own platform account as the transfer destination.
but would it be possible for those customers to interact with other connected accounts? I would need to hahve their payment methods saved so they can interact with other accounts
but would it be possible for those customers to interact with other connected accounts?
No. That isn't how Direct Charges are designed to work
With Direct Charges, the customer is a customer of the Connected Account. You, the Platform, are a middle man that helps connect the Customer with the Connected Account
With Destination Charges, the Customer interacts directly with your platform account and that is where the Customer and Payment records are stored
In that case, the Connected Account is kind of like your sub-contractor
oh ok, i was more inclined to direct charges so that the payments made by endusers go directly to the connected account without having to pass through my account but its important that end users to be able to use one of their existing payment methods for other accounts...so in that case i would have to use Destination charges
You can implement customer/payment cloning between Connected Accounts: https://docs.stripe.com/connect/direct-charges-multiple-accounts
But you must understand that this does not keep the cloned records in sync. Each record is it's own distinct copy and updates will require re-cloning if you want that information shared across Connected Accounts.
is there some sort of manage payments UI that can also be used with this approach? Like in settings the user clicks on manage payments and a Stripe popover displays with all their payment methods...then those payment methods can be used in any connected account?
Sorry are you refering to a Customer or a Connected Account?
for a customer buying on my platform/connected account
Okay, that is an entirely different situation but something you can achieve. It depends on what Stripe element you use to collect payment though
there are other options other than the payment sheet?
Payment Sheet is for mobile integrations
SOrry but you appear to be jumping around to different topics without giving me a clear picture of what you are trying to do so I don't know how helpful I will be
yea im trying to integrate mobile payments...i already have the connected accounts set up on my webapp and i think that whole flow is ok, but for my user app they would need to be able to manage payment methods and make payments to any connected account
the errors im facing are from the payment sheet where im trying to pass the connect account ID. and the customerID and a price so that the payment sheet would pop up to process that charge and send to the connected acount
Right, which I've already explained is due to a mismatch on how you are creating your charges.
To show customers their saved payment methods on the Payment Sheet, you need to also pass the Customer Ephemeral Key to the Payment Sheet
This is included in our Canonical payment guide for all mobile platforms here; https://docs.stripe.com/payments/accept-a-payment
oh ok cool and it looks like idhave to fetch that ephemeral key every time right?
i swapped out the implementation in my server end code, now i dont pass the stripeAccount param anymore and instead use tansfer_data.and pass in the accountID which seems to work and now displays that payment sheet
Yes you need a new ephemeral key for every time you present the Payment Sheet
They are designed to be very short-lived for security purposes
makes sense, awesome! just one last thing....so when using transfer_data that is the Destination Charge way right? the app user's would be customers under my account and basically the funds will flow to me and then get transfered to the accountID that I specify automatically? and by doing it this way i dont need to clone the cutomer or any of that right just one customer which can interact with all the connected accounts?
Destination charges will achieve the flow you describe but I recommend you review how they work in detail.
You should read the doc I provided and follow the link to the page specific about destination charges.
Yea that’s the thing I want the connected accounts to be liable for payments. So for my app it helps users order drinks at a bar and so the bar owner should have control over refunds and disputes which is why I was leaning more towards Direct charges
Then you would need to change where the payment methods and customers are saved
But that is all explained in the docs
Ok cool thanks I’ll look into that some more
As for managing the payments from user end, the payment sheet will support that right? So that user can add cards without having to pay
So that user can add cards without having to pay
That depends on how you configure it. You can also use the Customer Sheet for this: https://docs.stripe.com/elements/customer-sheet
Is there anyway to test beta for react native?
Looking at the releases on the Github project page, it looks like the feature went GA with v0.40.0
https://github.com/stripe/stripe-react-native/releases/tag/v0.40.0
oh ok is there any documentation steps for that? the previous link just said that its in beta
Yes I think our documentation hasn't caught up unfortuantely. I can put in a request to update this and provide examples.
Awesome thanks for all the help today!