Skip to main content
Switching from another payment provider to Dodo Payments? Our migration tool makes it easy to move your products, customers, and discount codes without losing any data. The process is safe, guided, and can be done in just a few minutes. We currently support migrations from Lemon Squeezy, Stripe, Polar.sh, and Paddle.

Supported Migrations

Products & Pricing

Migrate all your products and pricing details.

Customer Data

Transfer your complete customer database, including contact details.

Discount Codes & Promotions

Move all discount codes and promotional offers seamlessly.

Get Started

First, install the migration tool:
npm install -g dodo-migrate
You’ll need Node.js ≥ 18 installed on your computer.

Migrate Your Data

If you’re coming from Lemon Squeezy:

dodo-migrate lemonsqueezy

If you’re coming from Stripe:

dodo-migrate stripe

If you’re coming from Polar.sh:

dodo-migrate polar

If you’re coming from Paddle:

dodo-migrate paddle
The tool will walk you through everything step by step. You’ll need:
  • Your provider’s API key (Lemon Squeezy, Stripe, Polar.sh, Paddle, etc.)
  • Your Dodo Payments API key
  • Whether you want to test first (recommended) or go live
  • Which Dodo Payments brand to migrate to

Why Use Our Migration Tool?

  • No data loss - Everything transfers safely
  • Test first - Try it in test mode before going live
  • Guided process - We walk you through each step
  • Resume if needed - If something goes wrong, you can pick up where you left off

Advanced Usage

If you prefer to run the migration without prompts, you can provide all the details upfront:

Lemon Squeezy migration:

dodo-migrate lemonsqueezy \
  --provider-api-key=lsq_XXXXXXXXXXXXXXXX \
  --dodo-api-key=dp_XXXXXXXXXXXXXXXX \
  --mode=test_mode \
  --dodo-brand-id=brand_XXXXXX

Stripe migration:

dodo-migrate stripe \
  --provider-api-key=sk_test_XXXXXXXXXXXXXXXX \
  --dodo-api-key=dp_XXXXXXXXXXXXXXXX \
  --mode=test_mode \
  --dodo-brand-id=brand_XXXXXX \
  --migrate-types=products,coupons

Polar.sh migration:

dodo-migrate polar \
  --provider-api-key=polar_org_XXXXXXXXXXXXXXXX \
  --dodo-api-key=dp_XXXXXXXXXXXXXXXX \
  --mode=test_mode \
  --dodo-brand-id=brand_XXXXXX \
  --migrate-types=products,discounts,customers

Paddle migration:

dodo-migrate paddle \
  --provider-api-key=paddle_XXXXXXXXXXXXXXXX \
  --dodo-api-key=dp_XXXXXXXXXXXXXXXX \
  --mode=test_mode \
  --dodo-brand-id=brand_XXXXXX

Need Help?

  • Tool help: dodo-migrate --help
  • Lemon Squeezy help: dodo-migrate lemonsqueezy --help
  • Stripe help: dodo-migrate stripe --help
  • Polar.sh help: dodo-migrate polar --help
  • Paddle help: dodo-migrate paddle --help
  • Community support: Discord
  • Report issues: GitHub

Update the Tool

# Update to latest version
npm update -g dodo-migrate

# Remove the tool
npm uninstall -g dodo-migrate