Migrate from PayPal Express
5 min readMigrate from PayPal Express
Overview
Merchants using PayPal Express for recurring billing can migrate existing subscription contracts to Shopify using Easy Subscriptions. Unlike Braintree or Authorize.net, PayPal Express does not connect as a secondary payment gateway through a redirect link. Instead, Shopify needs confirmation that PayPal Express is enabled on your store and that your account is approved for reference transactions, which is what allows recurring charges to run without the customer present at checkout each time.
This guide assumes you have already completed Shopify’s core Subscriptions API migration. If you have not, complete that step first, since the PayPal specific process described here depends on it.
Before starting, pause billing in your current subscription app. Pausing prevents customers from being charged twice while subscription contracts are being transferred.
Step by Step Migration Guide
Step 1: Verify PayPal Express Is Approved for Reference Transactions
Check your Shopify Payments settings to confirm PayPal Express is enabled and that your account status for reference transactions shows as approved. This status can appear as one of three states:
- Enabled: Your account is ready to process subscription payments.
- Pending: Shopify is still determining your eligibility.
- Disabled: You need to contact PayPal directly to request approval for reference transactions before you can proceed.
If your status shows disabled, resolve that with PayPal first. Importing subscription data before your account is approved will result in failed payment charges even if the import itself succeeds.
Step 2: Open Easy Subscriptions
From Shopify admin, go to Apps, then Easy Subscriptions.
Step 3: Go to Import Settings
Inside Easy Subscriptions, click Settings, then find the Import Subscription section.
Step 4: Download the CSV Template
Click Download to get the sample CSV file. This template defines the exact column structure Easy Subscriptions requires for import.
Step 5: Export Existing Subscription Data
Export subscription data from your current PayPal Express connected app. Include customer details, product names, billing intervals, and cycle dates.
Step 6: Format the CSV File
Match your exported data to the sample template’s columns, including Subscription ID, customer info, and billing intervals. Each customer’s PayPal billing agreement ID must begin with B dash. Rows with an incorrectly formatted or missing billing agreement ID will fail to import.
Step 7: Import the Data to Shopify
Return to the Import Subscription section in Easy Subscriptions and upload the completed CSV. Import time depends on how many subscribers you are importing, usually a few minutes for most stores.
Step 8: Review the Import Logs
Download the Import Logs to confirm the import completed correctly. Missing or mismatched entries, including invalid billing agreement IDs, appear here so you can fix and re-import them.
Step 9: Resume Billing
Once the import log confirms a clean migration, reactivate billing. Recurring orders are now manageable directly from Shopify admin through Easy Subscriptions.
Tips for a Smooth Migration
- Keep billing paused until the import log confirms a clean migration.
- Resolve any pending or disabled reference transaction status with PayPal before importing, not after.
- Double check that every billing agreement ID in your CSV begins with B dash.
- Use a fresh copy of the CSV template each time, since Easy Subscriptions may update the required format.
- Contact support if import logs show unresolved errors after a re-import attempt.
Frequently Asked Questions
Reference transactions are what allow PayPal to charge a customer’s saved payment method automatically for recurring billing, without the customer approving each charge individually. Shopify requires this approval before subscription payments can process.
Pending means Shopify is still determining your eligibility. Wait for this to resolve to enabled before importing subscription data, since payments will fail on a pending or disabled account.
Valid billing agreement IDs begin with B dash. Any row with an ID that does not follow this format will fail during import.
No. PayPal Express can operate as its own approved payment gateway rather than a secondary gateway tied to Shopify Payments, as long as reference transactions are enabled on your account.
Only if billing is not paused beforehand. Pause billing in your current app before starting the CSV import, and do not resume it until the import logs confirm a clean import.
The Import Logs flag exactly which rows failed and why. Common causes include incorrectly formatted billing agreement IDs and mismatched CSV columns. Fix the flagged rows and re-upload the file.
Preparing and importing the CSV file typically takes under an hour. If your reference transaction approval is pending or disabled, factor in extra time for PayPal to resolve that first.
