#tebro
1 messages · Page 1 of 1 (latest)
hello @inland robin! No, you wouldn't use the client_reference_id for a payout reference
could you share how your client would like the payout reference to look like?
I'll have a quick check on the exact format, but a string of some kind will be provided to us to forward to Stripe for the purchase payment.
Got a response: For now at least it is expected to be numbers only.
it'd be these two parameters. : https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-statement_descriptor and https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-statement_descriptor_suffix
and you would want to read up about statement descriptors here : https://stripe.com/docs/statement-descriptors
Thank you! We will dig in to these.
@dense thorn after reading through this I want to make sure we are not misunderstanding each other.
The standard flow of money is: Customer -> Stripe -> Company
It seems to me that the statement descriptors are for the Customer side of things.
What we want is to provide a reference that will show on the Stripe -> Company transactions.
ah, okay, yes, i misunderstood
the reference Stripe -> Company transactions is what we call a payout descriptor, you cannot pass a unique (for every payout) descriptor to Stripe to display on the payout
So there will be no way for us to bind a certain bank transaction to a specific purchase?
for automatic payouts, there will be an itemized report
i.e. the payout will list all of the transactions (purchases) that make up that amount
Is that something that can be retrieved? I don't directly see such a field here: https://stripe.com/docs/api/payouts/retrieve
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
it's actually available on the Stripe Dashboard, when you click into a particular payout, you'll be able to see the list of transactions that make up that payout. You can also retrieve the transactions using : https://stripe.com/docs/api/balance_transactions/list#balance_transaction_list-payout
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
So will the client_reference_id show up on that report then?
the client_reference_id will not show up on that report by default
you're going to need to do some additional work, namely, adding the client_reference_id to the corresponding PaymentIntent (and maybe also the Charge object) using metadata
In addition to specifying it when creating the Session?
yes, so after you create the session with the client_reference_id, you would receive that parameter back in the checkout.session.completed event
you should setup webhooks to listen for that event and perform subsquent follow up actions
I see. Thank you.
The client claims that this is the field we want to use: https://stripe.com/docs/api/issuing/transactions/object#issuing_transaction_object-purchase_details-reference
Though I see no direct way of setting it, updating a transaction seems to only allow modifying the metadata fields.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
issuing is an entirely different product, and is not related to Checkout
are you using Checkout for one time payments only?
that's fine, i just wanted to clarify before giving further instructions
so when a Checkout completes, you'll receive the checkout.session.completed event, and in that event, you'll see a payment_intent id : https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-payment_intent
make an API request to update the PaymentIntent with the client_reference_id as metadata : https://stripe.com/docs/api/payment_intents/update#update_payment_intent-metadata
remember to include the client_reference_id when creating the Checkout Session to ensure it will be returned in the webhook
Ok. So Issuing would then work differently and apparently support references on the bank transaction (clients claim)? Is Checkout the recommended way of doing new Stripe setups?
Trying to find some way to explain why it will be different, and what options we have available.
Issuing really is not relevant here I think
basically you want a payout descriptor, like the descriptor on your bank statement when we send the funds to you. By default that is something like "Stripe" or the name of our entity in your region
Ok, not sure that is what Stripe variant has been used now, but they have an old setup that allows for this specific feature in regards to the payout descriptor.
what we usually suggest is for reconciliation, you look at the amount of the payout deposited in your bank account, compare it to Payout objects on your account that should arrive that time, and then you reconcile the payments in it : https://stripe.com/docs/expand/use-cases#charges-in-payout
yeah you can do that for Connect
Ok. Thanks for all the help. Will take some time to read through more docs and take this back with me to see what our best approach will be.
cool cool. To be clear(just scrolling back up), you can't really have one payout-per-charge, so the model is you process a bunch of payments with the merchant and then each day(by default, you can change payout schedules) they get all their available money in a single payout, with the account's payout descriptor, or "Stripe"
it's not the case that there's a parameter you can pass when accepting a payment to say "I want this money to appear in the merchant's bank account called "T-SHIRT PAYMENT JANE DOE" " etc
if you want to give that kind of context on what the payout represents, you can can reconcile as I mentioned above and we also break it down in the dashboard