#calebr
1 messages · Page 1 of 1 (latest)
Hello! The exchange rate applies at the time the payment settles in a balance with a different currency than the presentment currency. More info here: https://stripe.com/docs/connect/currencies
Okay, thanks. Is there any way in the API to get the exchange rate for a particular payment_intent at the time of the transaction? I'm looking at pi_2NKHE253soKKKIrd13KhQDcv in the dashboard, and there's an exchange rate displayed there, but it doesn't appear to be on the object that I get back from retrieving the payment_intent programmatically.
It would be on the Balance Transaction: https://stripe.com/docs/api/balance_transactions
See the type specifically: https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-type
See that for all the things Balance Transactions account for, I mean.
And the exchange_rate specifically: https://stripe.com/docs/api/balance_transactions/object#balance_transaction_object-exchange_rate
So as far as the process goes, the exchange rate is set when the balance transaction moves the money from our platform account to the destination account?
Let me have a look...
Sorry, our current process assumes that the exchange rate is set at the time of the transaction, since that's how our other payment integration works (our clients are currently split between Stripe and another processor, Spreedly), so I'm trying to understand how it works here. We're ending up with discrepancies between the amount that we record for the transaction in our software, and the amount that our clients are receiving in the payout.
So this is a destination charge with an application fee. That means the flow here is happening: https://stripe.com/docs/connect/destination-charges#flow-of-funds-app-fee
In this scenario I believe there would be two currency conversions, one for the amount settling on the destination account and another for the fee settling on your platform account (assuming neither account has a bank account in this currency).
So the exchange rate is settling in the last step on that chart on each side?
I think so, but honestly I'm not an expert on currency conversions. You should be able to tell on your end by fetching all of the associated Balance Transactions.
Okay, thanks. Is there any way to have the conversion take place on the paymentintent before any of the other processing?
You can look at the example scenarios here and figure out which one best suits your needs, but there's not really a way to make currency conversion happen prior to the funds settling: https://stripe.com/docs/connect/currencies#example-scenarios
Thanks. For the destination charge flow, what webhook event should we listen for that would indicate that the charge has settled and we can get the balance transaction object to set the amount and exchange rate? I don't see one specific to balance transactions shown on https://stripe.com/docs/api/events/types
I don't think you need to wait for the balance to be available to inspect this, it should be available on the balance transaction of the transfer after that's created
Right, but how can we know from a webhook when that happens?
If you want to look at the exchange rate on the transfer balance transaction, probably you want to do that on transfer.created events