#tigaz

1 messages · Page 1 of 1 (latest)

willow flowerBOT
restive plover
#

Since the existing customers are already set up to USD it's not possible to change the plan
Correct, not if they have an active Subscription

"This PaymentMethod was previously used without being attached to a Customer or was detached from a Customer, and may not be used again."
Can you share the ID (req_xxx) of the failing API request? https://support.stripe.com/questions/finding-the-id-for-an-api-request

How can I move customers from one subscription plan with one currency to another subscription plan with another currency without getting this error?
Seems like the issue you're going to have is that you're going to need to re-collect payment details from your customer(s) regardless of what you do

meager viper
#

ynnoj thank you very much for the fast reply.

So the only option is to ask my users to sign up again?

restive plover
#

I'd need to see a specific example of an existing Subscription. It sounds like the payment method is set on the Subscription object (via default_payment_method) and not saved/attached to the associated Customer.

Basically means you can't re-use that payment method on:

  • A new Subscription (i.e. the GBP plan)
  • Or a new Customer (as you've seen)
#

To switch currencies, you either need to:

  • Create a new Customer
  • Cancel the existing Subscription, and start the new GBP one
#

In both those scenarios I don't think you'll be able to re-use the payment method based on what you've described. Happy to confirm with an example!

meager viper
#

Thank you.
This should be the request ID: req_duB0nraVaWOVvb

restive plover
#

What specifically is the issue with that request? It succeeded

meager viper
#

I'm sorry. It wasn't the right request. I needed to load more. This is the failing request:
req_ZWDWiniX6FQtxM

restive plover
#

That will prevent the same pm_xxx from being used again

meager viper
#

Yes I did that to allow a new user to be created with the same PaymentMethod.

#

But it didn't work

restive plover
#

Yeah, because you can't re-use a Payment Method object after it's been detached (as per the error)

#

The deletion will cause the detachment

meager viper
#

But if I don't delete the user I get the error message:
"The payment method you provided has already been attached to a customer."

restive plover
#

Based on what you have, I think this is the best approach:

  • Cancel the existing Subscription, and start the new GBP one
restive plover
willow flowerBOT
meager viper
#

Ok. Thank you for your help. I couldn't have figured that out without your assistance. I will do that.

restive plover
#

Yeah you should be able to re-use the same cus_xxx you have with the pre-existing pm_xxx

#

You just need to first cancel the existing active USD subscription before you create the new GBP one

#

That should remove the USD currency lock from the Customer object

meager viper
#

Just to be 100% sure. Could this be done with a script or do I need user interaction to be able to do this?

vestal steeple
#

Hi! I'm taking over this thread.

#

Yes you can do that with a script.

#

But if the bank requires 3DS for the first payment, you will need to ask the use to come back to your website/app to go though the 3DS flow.