#arn4v
1 messages · Page 1 of 1 (latest)
Not via the API, no. Only the Dashboard. Otherwise they're just fixed to the currency of their initial payment: https://support.stripe.com/questions/setting-a-customers-default-currency
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.
To force customer's currency to be inr (or one of the other supported currencies), I'm currently trying a hack where after creating a new customer we immediately create a checkout session for them with a currency: "inr" override.
But that doesn't seem to set the currency on customer object to inr, it remains null
Not via the API, no. Only the Dashboard.
Is there any way to influence your roadmap?
There are many weird defaults and gotchas that aren't covered in your docs and it's very frustrating to find it out in bits and pieces over many support requests both on the main support site and here on Discord
This should be something handled by Stripe.
That'd only work if they actually completed the session/payment
Is there an alternative hacky way to achieve this?
What specifically?
Firstly, it isn't clear that one customer can only have one currency.
I found out after a 4 separate customer support chats where even the support person was confused. (I've had multiple chats about this previously, feel free to read)
There's no way to override currency and it's not clear when currency is set, even in case of customers that have never subscribed. Currency is still set to USD for them somehow.
Earlier I was told this is because we generated a USD checkout session for them, as we didn't support their local currency earlier. But now you're telling me that's now how it works
There's no way to override currency and it's not clear when currency is set, even in case of customers that have never subscribed. Currency is still set to USD for them somehow.
Is there an example of this? As per the docs I shared, it'd only set in certain scenarios
There was also an undocumented gotcha with coupons. If we run a server side migration and remove coupons from customers, it also removes it from their active subscriptions.
I was explicitly told in a support chat session that it won't remove it from active subscriptions, but in a subsequent session I was told it does remove them from active subscriptions.
It's also surprising that despite subscriptions being at the center of Stripe's offering, there's no official way to implement purchase power parity?
So much fuss for functionality that should be offered by Stripe
Even an official guide would help and I imagine would take your team less time than it takes for your customers to figure it out themself.
All of this is beside the point now I suppose.
Is there a hack to force a currency? Would making a balance adjustment/credits work? What if adjust the smallest unit of currency?
1 INR on an INR customer id, 1 cent on a USD customer ID and so on
Is there a specific question I can answer?
Yes, this
You don't force currency – it's set on the initial transaction. I'm not really understanding the issue
I need to set the currency so we don't run into any race conditions where a customer ID that we created for an INR transaction is somehow accidentally is set to USD currency
Let me know if I can be more clear than that
For even more context: We use multi-currency prices, so one price ID has multiple currencies on it.
I need to set the currency so we don't run into any race conditions where a customer ID that we created for an INR transaction is somehow accidentally is set to USD currency
Can you provide an example where this has happened? I'm curious to see how it was set to USD as that doesn't happen 'accidentally'
Happy to provide it, but I'd have to dig a little and I can't do it at the moment
There's no other way around this really. The doc I linked outlines the scenarios in which we set a default currency on a Customer object, one of those has to be happening I'd guess. An example would really help
await StripeAPI.customers.createBalanceTransaction(
newCurrencyCustomerId.id,
{
amount: -1,
currency: currencyIsoCode,
},
);
Creating a balance transaction immediately after customer creation works.
(or seems to work)
Does this seem right to you?
Yeah, as per the docs that will fix the default currency: https://support.stripe.com/questions/setting-a-customers-default-currency#:~:text=The customer’s balance is adjusted
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.