#arn4v

1 messages · Page 1 of 1 (latest)

hollow flintBOT
runic cave
#

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

steel pumice
#

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.

runic cave
steel pumice
#

Is there an alternative hacky way to achieve this?

steel pumice
# runic cave 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

runic cave
#

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

steel pumice
#

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

runic cave
#

Is there a specific question I can answer?

runic cave
#

You don't force currency – it's set on the initial transaction. I'm not really understanding the issue

steel pumice
#

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.

runic cave
#

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'

steel pumice
runic cave
#

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

steel pumice
#
    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?

runic cave