#N0xB0DY-currency
1 messages · Page 1 of 1 (latest)
hmm. The way this works is there are two currencies, presentment and settlement.
Presentment is what you control, it's the currency you pass to the API when you create a PaymentIntent etc. That is what the end-customer is charged in.
Settlement is what is paid out to the Stripe merchant/account. SO if you're a CA account you have a CAD bank account on your Stripe account and we convert any presentment currencies to that currency so we can pay you. The same applies to connected accounts, they have their own bank accounts and settlement currencies. (https://stripe.com/docs/payouts#supported-accounts-and-settlement-currencies)
so I'm a bit lost on your question and how exactly you'd end up with USD yourself if you present the charge in CAD. Some examples of what you're looking at like screenshots/PaymentIntent pi_xxx IDs would help!
I created an account manually in Stripe Dashboard, and its currency is USD. So when I made a payout session, the value I received for 25 CAD was ~18 USD after stripe fees and my fees, which should be equal to ~20CAD
I want to get the transaction amount before it's converted to USD
either this, or not let the client setup a bank account that uses currencies other than CAD.
Here's how I create account for user to provide them next with link to complete setting up their account. It's C# .Net
thanks, looking..
can you share the PaymentIntent ID pi_xxx you used? this payment where you say you see 25 CAD/18 USD?
I'll create a new one and share with you
to be clear anyway, I assume you are doing Direct charges with a fee? Like https://stripe.com/docs/connect/direct-charges#flow-of-funds-with-fees ?
Yes
then yes the way it works is the end-customer is charged in CAD, and if it's a US stripe account or an account that only has a USD bank account, we have to convert that to USD. Not sure how this impacts you as the platform though really or what your concern is, since that's all money for the connected account and there's no other way for them to get it
your application fee that you receive might be in CAD or USD(I'm not actually sure how this works, which is why I want to look at your example, I can't remember how the conversion works here)
I want to store this amount and show it to them at my platform. But in this case I'll have to store it along with the currency, and we don't want to manage currencies in the mean time
The payment session is in CAD, and my platform fee is CAD, but the settlement currency might be different.
hmm it's just the amount field of the PaymentIntent really, that is the CAD amount that you charged the customer in and you can show that to the connected account if you want.The presentment currency is just the amount/currency combo on the PaymentIntent or Charge object, settlement conversion only comes into it when looking at BalanceTransaction objects in the API, or the dashboard shows the settlement.
yep!
Session ID:
cs_test_a1Wah56voOrYuwXniNIYlTe3ZmxXWro1Mwqz2pyLAvf1IZ3PoE7pmjTaa8.
Requested Account ID:
acct_1JxBS0R2QPAbZtci
Payment Intent ID:
pi_3KJc0IR2QPAbZtci0kZQGLWH
Payment ID - On Stripe Dashboard:
pm_1KJc0bR2QPAbZtciJgUTCbNQ
When I retrieve session info like this:
yep, make sense
so that's exactly what I said above :
it's just the amount field of the PaymentIntent really, that is the CAD amount that you charged the customer in and you can show that to the connected account if you want.The presentment currency is just the amount/currency combo on the PaymentIntent or Charge object, settlement conversion only comes into it when looking at BalanceTransaction objects in the API, or the dashboard shows the settlement
looking at your specific PaymentIntent...
yep! that's the USD settlement, because you are looking at the BalanceTransaction that's created on the connected account.
i.e. that is the money that arrived on the connected account, which is converted to USD as they are a US account
Yes
so it's just the PaymentIntent amount/currency right, like I said?
what am I missing
I understand all of that. It's just that I need this amount in CAD, not in USD.
you keep saying that and I keep saying it's the details on the PaymentIntent.
what am I missing?
Sorry, lemme check
you want the $10 CAD amount? that is on the PaymentIntent object, the amount and currency fields, that is how you can read and report on it.
Yes, but not the Net amount
you've lost me, I'm sorry. For that example you gave me above, what figure (the actual number) are you looking for?
I want to know their net amount in my currency, not the settlement currency. They received 7.19 USD after all the fees are subtracted. I need this 7.19 in CAD.
Which should be roughly 8.9 CAD
ok! That is not anywhere in the API.
Anyway to do it manually?
you could I think somehow work it out but I'm not convinced it's possible.
I know that 1000 is the paid amount in CAD. and My fees too are in CAD. Just not sure about Stripe.
It's USD too.
you can see from looking at that BalanceTransction object in your screenshot, the fees are taken in USD (under the FeeDetails object) and use our US pricing as it's a Direct Charge so it's a US account actually processing the payment
Which now leads to the first option. Can I force accounts be created only in CAD?
If I provided CAD as default currency, can they change it?
no, Standard accounts in Canada can add a US bank account and also a CAD one , and that is managed by the account holder themselves and what they choose to add https://stripe.com/docs/payouts#supported-accounts-and-settlement-currencies
if you only charge your end-customers in CAD it's in their best interest to add CAD bank accounts so they can get the funds without conversion, but with Standard Connect accounts you don't directly control how they manage their payout accounts
I see. Thanks a lot for the help. In this case, I'll just store amount with currency on my end.
I think that field is ignored for Standard accounts actually, so it's a bit moot. The default currency for CA accounts should be CAD, it only settles to USD if they have a US bank account
I see. Thanks a lot for the help.
Hi again, I have one more question. if the session payment is CAD, the customer pays with a USD Card for the session, and the settlement is also USD. only my fees are in CAD. Will Stripe charges currency conversion fees for the whole amount, 10CAD for example, or only for my fees which is 0.25 CAD.
it being a 'USD card' is not really relevant since if there's some concept of the end-customer paying conversion, that happens between the end-customer and their bank and you/we have no visibility there.
If the settlement is USD then the amount is converted to USD on the connected account. You get your application fee in CAD (you can see this on https://dashboard.stripe.com/test/connect/application_fees ), it's the same case as the one we were looking at
I see, Thanks again. and sorry for bothering.
it's not a bother! happy to help
This thread has been archived. If you need help with anything else please ask in #dev-help or contact Stripe Support: https://support.stripe.com/contact
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
Hi again, I found out that Stripe provides exchange rate inside BalanceTransaction, I can use this to get the value I need in the paid currency which is CAD, Right?