This guide walks you through connecting your Stripe account to Shopify. This way, existing customer payment methods saved in Stripe can be used with PayWhirl for Shopify.
Requirements
Your customers’ payment methods must be stored in Stripe.
Export of customers from Stripe.
Export of active subscriptions from your previous platform (optional but recommended if you want us to bulk-create them).
Shopify Payments is connected as your primary gateway in Shopify.
Card tokens were saved using Stripe’s Payment Intents API or Charges API.
Stripe connected as a secondary gateway in Shopify (see steps below).
Step 1: Import customers into Shopify (names, email, addresses)
Use Shopify’s native CSV import on the Customers page to load basic customer records (name, email, addresses).
Detailed instructions: https://help.shopify.com/en/manual/customers/import-export-customers
Step 2: Connect Stripe to your Shopify store (secondary gateway)
Stripe no longer appears as a stand-alone gateway in Shopify settings. Use the direct link below to connect Stripe as a secondary subscription gateway (required for token migration).
Link format - replace {shop}
with your store handle:
https://admin.shopify.com/store/{shop}/settings/payments/third-party-providers/39813121?secondarySubscriptionGateway=true
Example:
If your store is my-coffee-co
, go to:
https://admin.shopify.com/store/my-coffee-co/settings/payments/third-party-providers/39813121?secondarySubscriptionGateway=true
Notes
You must be the store owner or have permission to manage Payments settings.
Payment methods imported to Shopify will continue charging via Stripe. Keep Stripe connected and in good standing after migration.
Any new cards saved by customers after migration will be vaulted under Shopify Payments.
Reference: Shopify’s developer docs on connecting Stripe as a secondary gateway:
https://shopify.dev/docs/apps/build/purchase-options/subscriptions/migrate-to-subscriptions-api/migrate-customer-information#migrate-from-stripe
Step 3: Export payment data from Stripe
Export a CSV with the following identifiers for each customer you plan to migrate:
email
stripe_customer_id
stripe_payment_method_id
(e.g.,pm_xxx
orcard_xxx
)
Please ensure your column headers exactly match the names above before sending to our team.
Tip: If stripe_payment_method_id
is blank in your export, the payment method may not be set as Default in Stripe. Set a default payment method in Stripe first, then re-export.
Step 4: Send your CSV to PayWhirl
Email team@paywhirl.com or contact us via live chat and attach your CSV. We’ll process the import so Shopify can vault the Stripe tokens against your Shopify customers (matched by email imported in Step 1).
Verifying the import
We don’t access your Stripe data directly—our process sends the IDs to Shopify to vault. Occasionally, a token can vault but fail later on charge. We highly recommend testing a few live charges to confirm everything works end-to-end.
Migrating/creating subscriptions
After payment methods are imported, you can re-create (or create new) subscriptions for customers using PayWhirl’s Create Subscription tool, preserving billing schedules and products.
How to subscribe a Shopify customer to a product:
https://docs.paywhirl.com/PayWhirl/en/articles/4961656-how-to-subscribe-a-shopify-customer-to-a-product-in-your-store
If you have 50+ active subscriptions, we can assist with a bulk import (BETA):
https://docs.paywhirl.com/en/articles/5497441-how-to-migrate-active-subscriptions-to-shopify-in-bulk-with-paywhirl-2020-version
Important implications of using Stripe + Shopify Payments together
New cards saved after you switch to Shopify Payments are vaulted and charged by Shopify Payments.
Existing subscribers whose tokens were imported will continue to be charged via Stripe unless they update their card in Shopify (in which case the new card will vault under Shopify Payments).
There is no automated way to “move” existing tokens from Stripe to Shopify Payments—keeping Stripe connected as a secondary gateway ensures continuity.
Troubleshooting tips
Billing ZIP code required: Shopify validates tokens and requires a billing ZIP/postcode; update missing ZIPs in Stripe before import.
Supported methods: Import is certified for credit cards; other payment types stored in Stripe (e.g., bank accounts) typically won’t import. Tokens should look like
pm_...
orcard_...
.Include only active methods: Limit your CSV to payment methods actually tied to subscriptions; extra tokens can be added later.
Need a sample file?
[Download Sample Import File] (CSV with headers: email, stripe_customer_id, stripe_payment_method_id
).
Questions?
We’re here to help at team@paywhirl.com or via in-app chat.
— The PayWhirl Team