What is a subscription migration?
A subscription migration transfers your existing subscribers from your legacy payment processor to Dodo Payments, giving you a single source of truth for all your customer data. Without a migration, customers you’ve acquired to date remain in your legacy system, and only new customers would be visible in Dodo Payments. The migration process ensures a seamless billing experience for your customers—they won’t need to re-enter their payment details or experience any interruption to their subscriptions.Migration process overview
The subscription migration process consists of three key parts:- Payment method transfer — Secure transfer of sensitive card data from your current processor
- Subscriber data transfer — Export of customer details, subscription plans, and billing schedules
- Import and validation — Unifying payment methods and subscriber data in Dodo Payments
To begin a subscription migration, contact our support team. They will connect you with a dedicated Solutions Engineer who will guide you through the entire process.
Requirements
Before initiating a migration, ensure you meet the following requirements:PCI DSS compliance verification
PCI DSS compliance verification
Dodo Payments is PCI DSS Level 1 compliant. To meet compliance obligations, we can only receive card data from another PCI DSS Level 1-compliant payment processor.Your current processor must provide:
- Their current PCI Attestation of Compliance (AOC), or their listing on Visa’s Global Registry of Service Providers
- Confirmation that they support secure card data exports
Dodo Payments integration
Dodo Payments integration
Complete your Dodo Payments integration and ensure all new customers are being directed to Dodo Payments checkout before starting the migration. This prevents data inconsistencies during the transition period.
Data access authorization
Data access authorization
Step-by-step migration guide
1
Request payment method export from your current processor
Contact your current payment processor’s support team and submit a formal request for a complete export of your customer card tokens.You will need to:On average, this process takes around 2 weeks, although timing varies depending on your current processor’s policies and response times.
- Provide verification of your identity and authorization
- Request they encrypt the export using Dodo Payments’ PGP public key (provided below)
- Ask them to transfer the encrypted file directly to our secure SFTP server
Secure transfers are made directly from server to server via SFTP. Your Solutions Engineer will provide the SFTP credentials to share with your current processor.
2
Prepare subscriber data export
While the payment method transfer is in progress, export your subscriber data from your legacy system. Your Solutions Engineer will provide a CSV template and guide you through the required fields.
Required subscriber data
| Field | Description |
|---|---|
customer_id | Your internal customer identifier |
email | Customer’s email address |
name | Customer’s full name |
country | Two-letter country code (ISO 3166-1 alpha-2) |
currency | Three-letter currency code (ISO 4217) |
payment_amount | Subscription amount in smallest currency unit |
payment_interval | Billing frequency (monthly, yearly, etc.) |
next_billing_date | Next scheduled billing date (ISO 8601) |
card_token | Unique token from your current processor |
Sample data format
3
Validation and testing
Before the import date, our team will:
- Verify file integrity and encryption of the payment method data
- Validate your subscriber CSV for correct formatting
- Run a test import in our sandbox environment
- Identify and resolve any data mapping issues
You’ll receive a validation report confirming everything is ready for the production import.
4
Production import
On the agreed import date, our engineering team will:
- Import the payment method data into our PCI-compliant Card Vault
- Import your subscriber data
- Match subscribers to their payment methods using the card tokens
- Activate all migrated subscriptions
Typical processing time is 2-3 business days for standard migrations, depending on the volume of subscribers.
5
Post-migration verification
After the import completes, you’ll receive:
- A comprehensive migration report
- A CSV mapping your old subscription IDs to new Dodo Payments IDs
- Access to all migrated customers in your Dodo Payments dashboard
- Verifying a sample of migrated subscriptions in your dashboard
- Testing a few subscription renewals in sandbox mode
- Updating your internal database references with the new IDs
- Running parallel monitoring for the first billing cycle
Migratable data
The following data can be transferred during a subscription migration:| Data type | Supported | Notes |
|---|---|---|
| Credit/debit card numbers | ✅ | Encrypted via PGP |
| Card expiration dates | ✅ | |
| Cardholder names | ✅ | |
| Billing addresses | ✅ | |
| Customer email addresses | ✅ | |
| Customer metadata | ✅ | Custom key-value pairs |
| Subscription details | ✅ | Plan, amount, interval |
| Apple Pay tokens | ❌ | Cannot be transferred |
| Google Pay tokens | ❌ | Cannot be transferred |
| Other wallet tokens | ❌ | Cannot be transferred |
| Payment history | ❌ | Export from your current processor |
Payment history and transaction records cannot be migrated. We recommend exporting this data from your current processor for your records before completing the transition.
PGP encryption
For maximum security when transferring sensitive card data, all files must be encrypted using our PGP public key. This provides an additional layer of protection beyond transport-level encryption. Share this key with your current payment processor for encrypting the card data export:Dodo Payments PGP Public Key
Dodo Payments PGP Public Key
Timeline expectations
| Phase | Duration |
|---|---|
| Initial setup and planning | 1-2 days |
| Payment method transfer | ~2 weeks |
| Subscriber data preparation | 3-5 days (parallel) |
| Validation and testing | 2-3 days |
| Production import | 2-3 business days |
| Post-migration verification | 1-2 days |