#james-checkout-currency
1 messages · Page 1 of 1 (latest)
Thanks, thought I could create the thread myself 😬
I'm currently blocked from changing a customer's default currency from USD to CAD
- There isn't an active subscription
- I had set a credit balance, but I did that in CAD. Removing that credit did not help.
- I also removed the customer's payment methods - this did not help either.
Can you share the customer object ID?
I suspect once the currency is set, you can't change it. You might just need to re-create the customer
Yeah, that's the case - it's set to USD and needs to be changed to CAD
cus_F02xKNsXF6sWqd
more than one support page explains that it's possible as long as the customer object is in a certain state - which seems to match their state
The "Changing a Customer's Default Currency" section of https://support.stripe.com/questions/setting-a-customers-default-currency
This addresses my issue, and suggests there's a state in which the Customer default currency can be changed:
https://support.stripe.com/questions/why-are-customers-locked-to-a-specific-currency-and-can-not-be-moved-to-a-price-in-another-currency
This focuses on the Subscription, but still re-uses the same Customer:
https://support.stripe.com/questions/updating-subscription-currency
Yeah, no problem!
What error do you get when you try to update the currency on the customer ID you shared?
The menu is grey - so, I'm completely blocked
hmm let me ask a colleague, I spot checked everything I could think of..
Thanks!
I’m really hoping it’s simple/one-off, because I expect I’m going to have hundreds of these requests soon
I have to leave for an appointment. I'll reply into this thread when I'm available again. If you can leave any helpful info while I'm gone, I'll review it when I return.
Thanks for your assistance!
Appreciate your patience. In your case, you can't update the currency via the dashboard once it has been set.
However, that shouldn't prevent you from creating a new subscription in a different currency.
You can just ignore their currency in the dashboard
I have things set up to automatically determine the user’s currency & that’s resulting in this person getting USD shown to them instead of CAD 🤔
Hi 👋
I"m stepping in as @pseudo totem needs to go soon
Aside: Any indication why I can’t update the currency for this particular user?
You cannot update a Customer's currency once it is set
I’ve shared some links ☝️ that say differently.. those should be updated if they’re wrong - lost some hours on this, thinking it was possible & messaged hundreds of customers about it as well 😓
You can charge Customers in differnet currencies that the one specified directly on the Customer object. You cannot update it directly but you can create a new Subscription in a new Currency
I think I'd have to rework my existing checkout flow:
session_data = {
client_reference_id: current_user.id,
line_items: [{price: params[:payment][:price_id], quantity: 1}],
mode: params[:payment][:mode],
success_url: payments_success_url,
cancel_url: payments_canceled_url,
customer: current_user.stripe_customer_id
}
Stripe::Checkout::Session.create(session_data)
since I'm letting Stripe automatically present the local currency (which isn't happening for this user)
What is the currency for the price in the line_items?
I created that as USD, and it has 10 other currencies included
I can share the ID, if that's safe/helpful
Sure, it's safe. Only someone with access to your Stripe account could see anything about it
price_1ODZhm2PFDCON6VbTqHqXWLN
Okay and for this user, they are seeing USD as the currency when this price is used?
That's correct
maybe they live close to the border 🤣
The payment ID in question is pi_3OEZFt2PFDCON6Vb1D8lohZz if that helps
updated with correct ID
Unfortunately I only see the currency being set as USD for this payment intent
maybe they live close to the border 🤣
Our docs https://stripe.com/docs/products-prices/pricing-models#use-multi-currency-prices do say we will localize basd on the IP address for Stripe Checkout
And the IP address of the confirmation request is identified as coming from Canada
https://dashboard.stripe.com/logs/req_c51x6x6UxIHtEL