Dodo Payments
Connect Dodo Payments to take payments and subscriptions, and manage customers, products, discounts, refunds, and payouts.
You paste one Dodo Payments API key into PopMCP, plus the word "test" or "live" in the Environment box to say which mode that key belongs to.
Seller/marketplace approval before this connector works
Dodo Payments' compliance team must approve your merchant account (identity, business and bank verification) before live-mode keys can take real payments or pay out.
- Typical wait
- Docs state typical verification time of 1-3 business days (excluding weekends and public holidays), and that most reviews finish within 72 hours; appeals are quoted at more than 48 working hours
- Cost
- Free
- Blocked until approved
- Live payments and payouts. A live-mode API key exists from day one, but until verification is approved the account cannot accept real charges and no money can be paid out to your bank account.
- Works meanwhile
- The test-mode API key works immediately at signup - full integration, products, subscriptions, licence keys, webhooks and the CLI/MCP tooling all run against test mode with no review.
Where to apply: Dodo Payments dashboard > verification flow: pick Account Type (Individual or Registered Entity), then complete the Product Information form, Identity Verification (government ID plus selfie via Persona) and Bank Verification. Registered entities also complete Business Verification (company registration, directors/beneficial owners, tax ID); UK entities additionally file a W-8BEN-E.
- Your live website must be publicly reachable before you submit, with visible pricing, refund/cancellation policy and contact details - a not-yet-launched or password-protected site is the most common rejection.
- The product description on the form must match what the website actually sells; mismatches get bounced.
- The payout bank account name must match the verified individual identity or the registered entity name - a mismatch means no payouts, even after approval.
- Blurry, expired, or unsupported-country ID documents fail the Persona check.
- Products that fall foul of the Merchant Acceptance Policy are rejected outright, not fixed by resubmission.
- Approval is per merchant account, so a sandbox integration built by an agency still needs the end client to pass verification on their own account.
- Setup time
- 3 min
- Auth
- API credentials
- API base URL
- https://live.dodopayments.com (test mode: https://test.dodopayments.com)
- Rate limits
- Default Tier 0 allows 40 requests per second and 240 per minute. Higher business tiers reach 500/s and 5,000/min, and going over returns HTTP 429.
Before you begin
- Dodo Payments merchant account with access to the business dashboard
- Account Verification completed if you want a live-mode key that can move real money. Test mode works from day one.
Get your credentials
Pick the mode you want a key for
Open app.dodopayments.com and use the mode switch at the bottom of the left sidebar to put the dashboard in Test mode or Live mode.
Home
Your day so far, hour by hour.
- Gross Volume Today
- $3,432.86
- Cash Position
- $7,832.00 available
- Next Payout
- $7,832.00 on Aug 4, 2026
The Live and Test switch sits under your avatar at the foot of the sidebar.
Open Developer, then API Keys
In the left sidebar click Developer, then API Keys.
API Keys
Keys authenticate server-side requests with a Bearer token.
| Name | Key | Access | Created |
|---|---|---|---|
| Checkout serverCreated by ops@acme.com | ••••••••••••7c4d | Read and write | Mar 4, 2026 |
| Reporting jobCreated by billing@acme.com | ••••••••••••1f0a | Read only | Feb 18, 2026 |
Add a key and grant write access
Click Add API Key, name it PopMCP, and leave Enable write access ticked. Click Create.
API Keys
Unchecked, the key can only fetch payments, subscriptions, customers and products.
Copy the key before you close the dialog
Click Copy, paste the key into PopMCP's API key field, then click Done.
API Keys
Dodo shows the full key once. Never put it in client-side code or a public repo.
Tell PopMCP which mode the key is in
In PopMCP type test in Environment for a Test Mode key, or live for a Live Mode key. Leaving it blank defaults to live.
Connect in PopMCP
Open your workspace, choose Dodo Payments in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| API keysecret | Dodo dashboard → Developer → API Keys. Use a test-mode key for the sandbox or a live-mode key for production. Stored encrypted; used server-side only. The connection is locked to this key's account.Encrypted with AES-256-GCM on save and never shown again. |
| Environmenttext | Type "test" if you pasted a test-mode (sandbox) key, or "live" for a production key. Defaults to live. If the mode does not match the key, we tell you which one to use. |
PopMCP verifies the credential against Dodo Payments immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Verify it worked
PopMCP shows the Dodo Payments connector as Connected with the business name and the mode it detected. Asking for your recent payments returns real payment IDs such as pay_… from that environment.
Troubleshooting
401 Unauthorized on every call
Why: The key was revoked, mistyped, or belongs to the other mode. Test keys are rejected by live.dodopayments.com and live keys by test.dodopayments.com.
Fix: Re-copy the key from Developer, API Keys, and make sure the Environment field says the same mode the dashboard was in when you created it.
403 on anything that creates or changes data
Why: The key was created with Enable write access unchecked, so it is read-only.
Fix: Create a new key with Enable write access ticked and swap it into PopMCP.
You lost the key before copying it
Why: Dodo displays the full key only in the creation dialog.
Fix: Delete the key from Developer, API Keys, and create a replacement.
Live payments fail even though the key works
Why: Live Mode is available immediately, but real payments and payouts only switch on after Account Verification.
Fix: Finish the verification flow in the dashboard, or use a test-mode key until it clears.
429 Too Many Requests
Why: Default Tier 0 limits are 40 requests per second and 240 per minute.
Fix: Slow the request rate and watch the X-RateLimit-Remaining and X-RateLimit-Reset headers, or ask Dodo support about a higher tier.