#Kshitij - Connect Payments
1 messages ยท Page 1 of 1 (latest)
Hi there...apologies, I missed doing a keyword search in the channel first. Basically
- I wanted to know if the calculated_statement_descriptor automatically get carried across to the destination payment charge or do I need to update it on the charge via API after the payment intent has succeeded?
- I do not see a specific field on the destination payment page for the statement_descriptor. So does that mean one will need to view the charge.updated event json to verify the statement_descriptor on the dashboard?
Do you have any request IDs as examples I could take a look at?
Here's how you can find a request ID: https://support.stripe.com/questions/finding-the-id-for-an-api-request
Here is one example of a card payment intent:
Card Payment Intent request: req_ceW2a2k9USog4A
Transfer tr_3KP5JdIU9AZQojgN2oahFQPz
Destination payment py_1KP5JeELDcrwbzESAmk1g0CS
I am looking into this at present. Sorry for the delay
Okay so for the initial Create Payment Intent you pass in statement_descriptor: "connect-credit-000001", and we see that in resulting Payment Intent calculated_statement_descriptor: "CONNECT-CREDIT-000001",
Np.
that's correct, however if I retrieve the destination payment charge py_1KP5JeELDcrwbzESAmk1g0CS via API,
CalculatedStatementDescriptor: null
StatementDescriptor: null
are both null
should it automatically copied across or does one need to manually update the destination payment charge?
hello @fallen socket, stepping in on behalf of snufkin. To clarify, the py_1KP5JeELDcrwbzESAmk1g0CS is the result of a transfer - this will not have a statement descriptor. The statement descriptor that will show on the customer's credit card statement will be what you pass through in the create payment intent
Hi @fervent moss
Yes that is correct py_1KP5JeELDcrwbzESAmk1g0CS is the destination payment.
Oh ok. So its not being copied across.. that is why there are no fields displayed for the StatementDescriptor on that page.
The premise for this question is the clients were expecting the same statement descriptor to be reflected on the connected payment as well for reconciliation.
Is it possible to manually update the calculated_statement_descriptor & statement_descriptor fields from the payment intent to the destination payment charge via API?
If yes, since there is no field on the dashboard, I'm guessing the only place to verify would be the json of the update event on the destination payment charge?
i would say that it's possible to pass that result on to the py_ object, but you are going to need to implement the logic. Let me put together a high level explanation on how to achieve that
thanks
After the payment is successful, you would have a Charge object.
- Retrieve the Charge and at the same time expand [0]
transfer[1]. The response should containtransfer.destination_payment. [2] - You can then make a request to update the
metadata[3] ordescription[4] on thetransfer.destination_paymentobject. Remember to use the StripeAccount header [5] to make the update as this object exists on the connected account.
[0] https://stripe.com/docs/api/expanding_objects
[1] https://stripe.com/docs/api/charges/object#charge_object-transfer
[2] https://stripe.com/docs/api/transfers/object#transfer_object-destination_payment
[3] https://stripe.com/docs/api/charges/update#update_charge-metadata
[4] https://stripe.com/docs/api/charges/update#update_charge-description
[5] https://stripe.com/docs/connect/authentication
let me know if this doesn't work for you
Thanks for these links.
I've already tried updating the description field....so I guess I can do the same for the calculated_statement_descriptor, statement_descriptor fields
So something like below should work:
- when the payment_intent.succeeded webhook event is recieved, fetch the transferId, destinationAccountId, calculated_statement_descriptor, statement_descriptor from the json payload
- retrieve the Transfer object for that transferId, destinationAccountId
- get the destinationPaymentId from the transfer object;
- retrieve the charge for the destination payment id, specifying the connected account header
- update the destination payment charge, passing in the calculated_statement_descriptor, statement_descriptor properties as params to be changed
does this look right to you?
you can't update the calculated_statement_descriptor and statement_descriptor properties on the py_ object. You can only update the description and metadata (amongst some other fields). [6]
ahh gotcha...
Yeah we have separate texts on statement descriptor and description so both need to be copied across. So for
- description: I can update the description property of the py_object
- calculated_statement_descriptor and statement_descriptor: will need to into the meta_data of the py_object
Will give that a go
Thanks for your help @fervent moss
you're welcome, feel free to reach out again in case you run into any issues!
will do. Have a great day
Hi @fervent moss
Sorry I have a loosely related query
Where & when is the static statement descriptor set on the connected account used?
I could not see it reflected anywhere on a connected destination payment received by the connected account.
Is that statement descriptor only set on payment intents that the connected account in turn makes?
this explains it fairly well : https://stripe.com/docs/connect/statement-descriptors
thx. I'll take a look at that
I'm a bit fuzzy about the static connect statement descriptors.
Say the connected account has a static statement descriptor configured.
As per that link, when the on_behalf_of is used for a card payment, the connected account's customer statement should show the static descriptor that was configured on that connected account
Is there a way to confirm from the dashboard of a test platform or connected account if that is being set? Our clients are saying they are not even seeing that in their statements
to confirm, you're referring to credit card statements?
yes
Hello, stepping in and catching up
@fallen socket can you provide an example of a live Charge/PaymentIntent id where the customer has said they're not seeing the correct statement descriptor in their statement?
for context, what the bank decides to display on the statement is not something which we can control. We can check if the integration is passing in the correct statement descriptors though
Sorry for the delay.. I don't have a live example on me at the moment.
I just found out the client are discussing with their Stripe account manager.
I was just curious if there was some way to view from the dashboard or detect via API what was being set... but appears there may not be a way.
I think I'm good for now.. Thanks for your help today.
alright, feel free to reach out if you have anything else that we can help with ๐
๐