For discussing the development and integration of subscription-enabled shops using Shopify's Subscription APIs.
Hi Shopify,
We've been following https://shopify.dev/apps/subscriptions/migrate/contracts#migrating-from-stripe
to migrate Stripe payment methods to Shopify subscription API.
Note that we used to use Recharge. And we connected with three different Stripe accounts before.
So we use `{SHOP_URL}/admin/payments/legacy_subscription` to connect to one Stripe account, do the payment method migration, disconnect and connect to another Stripe account. Until all three finishes.
When we try to bill customers, SubscriptionBillingAttempt
We got error code and message
ERROR INVALID_PAYMENT_METHOD No such PaymentMethod: 'pm_xxxxx' null.
This payment method is valid, not expired, right band, right last 4 digits.
Is this a bug in Shopify API?
Thanks
Hi @Jiazhen
Do you have the GID for the billingAttempt? I can look up what is happening.
Just to verify, are you trying migrate 3 different stripe accounts to Shopify?
To learn more visit the Shopify Help Center or the Community Blog.
Hi @matart , thank you for the reply.
The billingAttempt GID is gid://shopify/SubscriptionBillingAttempt/3888447536
Thanks!
Look forward to hearing from you
Best regards
Jiazhen
Hi @matart ,
To your second question,
"Just to verify, are you trying migrate 3 different stripe accounts to Shopify? "
Yes. I've migrated three different Stripe accounts to our new Shopify store.
I connected one Stripe account, migrated payment methods, disconnect, connect with another Stripe account, and migrate.
So the way the migration works is that you import your stripe tokens and we use those tokens to talk to stripe. We do not import the details of those tokens it remains on stripe attached to that stripe account. If you deactivate that stripe account and setup another one, your migrated payment methods will not work. I believe this the error you are seeing.
To learn more visit the Shopify Help Center or the Community Blog.
Thanks for the reply @matart .
In your migration doc it says
"If your current payment gateway is Stripe or Braintree, then you'll use Shopify Payments after the migration."
So, isn't it true that we can just disconnect the Stripe account after migration? If what you explain is true, we then need Stripe connected after migration?
And your migration guide doesn't work for multiple Stripe accounts?
@matart could you help to clarify this? Do we always have to connect a Stripe account even after we enable Shopify gateway?
And the migration can't work with multiple Stripe accounts?
@matart one more question please, will the migration work if I merge three Stripe accounts into one?
In your migration doc it says
"If your current payment gateway is Stripe or Braintree, then you'll use Shopify Payments after the migration."
So, isn't it true that we can just disconnect the Stripe account after migration? If what you explain is true, we then need Stripe connected after migration?
And your migration guide doesn't work for multiple Stripe accounts?
All new payment methods will be stored by us and use Shopify Payments. We will use the stripe token for the migrated payment methods only. You will need to keep the stripe account active for these to work. When a customer updates their payment method we will store the new details and use Shopify Payments for it going forward. This will not work for multiple accounts.
@matart could you help to clarify this? Do we always have to connect a Stripe account even after we enable Shopify gateway?
And the migration can't work with multiple Stripe accounts?
Like above we will use the Stripe gateway for all migrated payment methods and Shopify Payments for all newly created methods. Because stripe tokens are unique to the account that created them you will need to keep the stripe account active.
@Jiazhen wrote:
@matart one more question please, will the migration work if I merge three Stripe accounts into one?
If you merge all your stripe accounts into a single account that should work. I don't know how stripe handles that but you may need to re migrate the payment methods if any of the token details change.
To learn more visit the Shopify Help Center or the Community Blog.
Hi @matart ,
One more question please, from the Shopify API, can I query the remote payment method that I migrated? I want to see the payment token I migrated.
Thanks
Best regards
Jiazhen
@Jiazhen wrote:
Hi @matart ,
One more question please, from the Shopify API, can I query the remote payment method that I migrated? I want to see the payment token I migrated.
Thanks
Best regards
Jiazhen
You should be able to see the payment method attached to the customer if your app has the correct permissions: https://shopify.dev/api/admin-graphql/2022-07/objects/CustomerPaymentMethod
To learn more visit the Shopify Help Center or the Community Blog.
@matart I mean the payment token? the CustomerPaymentMethod object from GQL does not include the payment token? It only tells `source: remote`