Skip to main content
When you move to a new payment processor, we can transfer your customers’ saved cards to it, so your customers don’t enter their cards again. We send the cards only to a processor that meets the requirements below, in a file that only that processor can decrypt. We export the saved cards and nothing else. You stay in control of your subscriptions: you cancel them on Dodo Payments, you stop sending customers to Dodo Payments checkout, and you choose when your new processor starts charging. We never cancel anything on your behalf. To start an export, see Request an Export.

Requirements

Your new processor must meet all of these before we export any card:
  • PCI DSS Level 1: The processor is a PCI DSS Level 1 Service Provider. It sends us its current Attestation of Compliance (AOC), or we find it listed on Visa’s Global Registry of Service Providers. We review this before the export.
  • PGP public key: An RSA PGP public key of 4096 bits or more. The processor sends it to us as a file, or serves it over HTTPS on a domain named in its AOC or registry listing. We encrypt the file to this key, and a second person on our team checks its fingerprint against what the processor sent.
  • SSH public key: An ssh-ed25519 key, or an ssh-rsa key of 3072 bits or more. The processor uses it to sign in to our SFTP server and download the file.

Request an Export

  1. Email support from the account owner’s email address. We accept a request only from the owner of the Dodo Payments account.
  2. Name your new processor and give us a contact on its migration team.
  3. Confirm your responsibilities in writing. We ask you to acknowledge that you cancel your Dodo Payments subscriptions, stop sending customers to Dodo Payments checkout, and time the switch so no customer is charged twice.

What’s Exported

The export holds your customers and the saved cards behind their subscriptions, in JSON, in the format most processors already import. Each card appears once, even when several subscriptions use it.
  • id on a customer is the Dodo Payments customer ID. id on a card is the Dodo Payments payment method ID.
  • cards holds every card that one of the customer’s subscriptions charges. default_payment_method is the id of one of them. When a customer’s subscriptions use different cards, find each subscription’s card by its payment_method_id (see What’s Not Exported).
  • network_transaction_id is included when we hold one for the card.
  • A missing value is null, never an empty string.
  • Expired cards are included, with their real expiry date, so your new processor can refresh them through its card updater.
  • The file never contains a CVC. We don’t store one.

What’s Not Exported

Each subscription returned by GET /subscriptions carries a payment_method_id, which is the card’s id in the export, and a customer object whose customer_id is the customer’s id in the export. Use these fields to link each subscription to its card at your new processor.

How the Transfer Works

1

Request

The account owner emails support and names the new processor.
2

Processor review

We review the processor’s AOC or registry listing and check its PGP and SSH public keys. A second person on the Dodo Payments team signs off on the review.
3

Counts before the export

We can share the counts of what will move and what won’t, such as how many cards are included, how many of them are expired, and how many customers use a non-card payment method.
4

Approval

A second person on the Dodo Payments team approves every export before it runs.
5

Export

We write the file, encrypt it to the processor’s PGP key, sign it with the Dodo Payments export key, and place it on sftp.dodopayments.com with a manifest beside it.
6

Download

The processor downloads the file as many times as it needs within 30 days of when we place it on the server.
7

Removal

30 days after we place the file on the server, it’s deleted automatically.

For Your New Processor

Send this section to your new processor’s migration team. It covers what they need to download and check the export.
  1. Send us an SSH public key. We sign in with keys only, not passwords. Send an ssh-ed25519 key, or an ssh-rsa key of 3072 bits or more. Never send the private key. Your SFTP username comes with the hand-over notice, and the account works only while a file is waiting for you.
  2. Check our host key on the first connection. It must match one of the fingerprints below.
  3. Download the file and its manifest. Your account can download files but can’t upload or delete them.
  4. Check the manifest. It lists the number of cards, the number of customers, and the SHA-256 digest of the encrypted file. Compare the digest with the file you downloaded before you import it.
  5. Check the signature. The file is signed with the Dodo Payments export key. Support sends you its public key and fingerprint when we hand over the export. Confirm the fingerprint with us before you trust the key.
  6. Decrypt and import the file in your own cardholder data environment.
Your processor can check the host key before connecting:

After the Export

Cancel your Dodo Payments subscriptions before your new processor’s first charge. The export doesn’t change your subscriptions on Dodo Payments, and we don’t cancel them for you. If they stay active, your customers are charged twice: once by Dodo Payments and once by your new processor.Cancel each subscription in your dashboard or with Update Subscription, setting status to cancelled. Stop sending new customers to Dodo Payments checkout before your new processor starts charging.
  • You receive a completion summary, including how many of your subscriptions are still active on Dodo Payments, so you can act on them.
  • You keep access to your dashboard and the API while your account is open.

Timeline

Get Started

Contact Support

Request a card data export from the account owner’s email address.

Subscription Migration

Move saved cards and subscriptions from another processor to Dodo Payments.
Last modified on October 22, 2026