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-ed25519key, or anssh-rsakey of 3072 bits or more. The processor uses it to sign in to our SFTP server and download the file.
Request an Export
- Email support from the account owner’s email address. We accept a request only from the owner of the Dodo Payments account.
- Name your new processor and give us a contact on its migration team.
- 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.idon a customer is the Dodo Payments customer ID.idon a card is the Dodo Payments payment method ID.cardsholds every card that one of the customer’s subscriptions charges.default_payment_methodis theidof one of them. When a customer’s subscriptions use different cards, find each subscription’s card by itspayment_method_id(see What’s Not Exported).network_transaction_idis 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.- Send us an SSH public key. We sign in with keys only, not passwords. Send an
ssh-ed25519key, or anssh-rsakey 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. - Check our host key on the first connection. It must match one of the fingerprints below.
- Download the file and its manifest. Your account can download files but can’t upload or delete them.
- 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.
- 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.
- Decrypt and import the file in your own cardholder data environment.
Your processor can check the host key before connecting:
After the Export
- 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.