Use existing payment methods when migrating subscription contracts

Use existing payment methods when migrating subscription contracts

simplee_chris
Shopify Partner
56 3 14

We are working with a merchant to move their existing subscriptions from a subscription app using Shopify's checkout to our app.

I would like to know if we can use existing customer payment methods for contracts we create / migrate in our app. Are there any better ways to migrate subscription contracts from one app to the other?

Thank ya!

Chris

Replies 9 (9)

LarryReid
Shopify Staff
87 9 22

Chris:

Interesting question. I don't know if anyone has asked this before. Unfortunately, I'm relatively new to this area, and most of the folks on my team are gone for the day. I'll try to get an answer for you tomorrow (Thursday) Pacific Time.

I assume you've seen this guide (although I believe you're asking for a different migration, perhaps it has some clues): https://shopify.dev/apps/subscriptions/migrate/contracts.

To learn more visit the Shopify Help Center or the Community Blog.

simplee_chris
Shopify Partner
56 3 14

Thanks Larry. You're correct, that tutorial discusses migrating payment information and creating payment methods, while I'm hoping to use existing payment methods for new contracts.

czilla95
New Member
8 0 0

Did u ever figure out how to do this??

LarryReid
Shopify Staff
87 9 22

At the moment there isn't a way to move existing payment contracts from one subscription app to another. It is on our roadmap, but we don't have any dates for when it might be available.

To learn more visit the Shopify Help Center or the Community Blog.

czilla95
New Member
8 0 0

Hey Larry, thanks for getting back. I believe the question is, after u call customerPaymentMethodRemoteCreditCardCreate, and u didn't get the customer payment method ID in the response. How can we retrieve it after? Right now there doesn't seem to be a way as the customer's paymentMethods do not return anything, nor does calling customerPaymentMethodRemoteCreditCardCreate again.

LarryReid
Shopify Staff
87 9 22

If you know the customer, you can query their `paymentMethods` on the `customer` query. Does that help?

To learn more visit the Shopify Help Center or the Community Blog.

Brian_S
Shopify Partner
170 21 43

I'm not sure if the original question was ever answered here but yes, you can use the existing payment methods.

It is true that you can't fetch subscription contacts from another app but the paint methods are re-usable

Brian Singer
CTO & Cofounder of Subscription Service - Awtomic
simplee_chris
Shopify Partner
56 3 14

Hi @LarryReid ,

 

Following up on this. We're trying to help out a merchant who's having a bad experience with a membership app, and not having any luck getting the payment method IDs from that app provider.

 

Is there a way to query a customer for all of their existing payment methods? When I try this, I get a null response, while I can see that they have a credit card on file for the active membership.

 

Also, can you confirm that if I have a customer's payment method ID, I can use it to create a subscription contract even if my app wasn't responsible for creating that payment method?

 

If this isn't possible, then Shopify is essentially saying that merchants can't leave an app because their payment information is being held hostage.

 

Thanks

Chris

Brian_S
Shopify Partner
170 21 43

Hey Chris - this is definitely possible. Otherwise migrations would be very difficult like you mention. 

 

I can't say for sure why you're getting `null` for payment methods on customers with payment methods. I haven't seen that issue. Make sure you're requesting correct scopes for your app, maybe? (required: `read_customer_payment_methods` and `read_customers`) 

 

I think you've already seen this, but just in case, here's where you'll find the payment methods:

https://shopify.dev/api/admin-graphql/2022-07/objects/Customer#connection-customer-paymentmethods

 

 

 

 

Also, can you confirm that if I have a customer's payment method ID, I can use it to create a subscription contract even if my app wasn't responsible for creating that payment method?

I can confirm this

Brian Singer
CTO & Cofounder of Subscription Service - Awtomic