#Jinliang
1 messages · Page 1 of 1 (latest)
The Charge was created using the Platform key and the Stripe-Account header of the Connected Account, hence it belongs to the Connected Account
When you do this Separate Charge and Transfer, you would need to create Charge directly by the Platform
So it should be accept payment by platform, then transfer to conected account?
Yep!
Is there a reference example?
This guide just transfer to one conected account, how to transfer to multi connected account?
Then there is Separate Charges and Transfers: https://stripe.com/docs/connect/charges-transfers
The Charge step you can replace by the Checkout if you are already using Checkout
Yes, I've implement this but faced Transfer Availability issue, there is insufficient available balance sometimes.
https://stripe.com/docs/connect/charges-transfers#transfer-availability to use the source_transacion
Yes, this is my question.
In Transfer Availablity section, do I have to create a new charge?
Instand of the current charge paid by customer?
No, it should be the original charge paid by customer
Accept customer payment refer to: https://stripe.com/docs/connect/enable-payment-acceptance-guide
How to get the original charge id paid by customer?
I think you are confused by multiple links. Please take a step back and follow the Separate Charges and Transfers I linked above. You would see you have a Charge Id after doing the payment, and you can take it to supply into the source_transaction on the Transfer
When you do the payment, it depends on how you collect the payment (Checkout or a raw PaymentIntent), but inside the PaymentIntent object you will find the Charge Id https://site-admin.stripe.com/docs/api/payment_intents/object#payment_intent_object-latest_charge
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
We use Checkout, use Session.create(params) to create session.
The code:
Session paymentSession = Session.create(params, requestOptions);
PaymentIntent paymentIntent = PaymentIntent.retrieve(paymentSession.getPaymentIntent())
And there is a exception:
com.stripe.exception.InvalidRequestException: No such payment_intent: 'pi_3MraQEIbtRg3bgk606OHrdMq'; code: resource_missing; request-id: req_3FDcafQ0ll2p3q