New Features
1. Bring Your Own Processor (BYOP)
You can now connect your own payment processor — Stripe or Adyen — and route payments through it per customer country, while Dodo Payments keeps powering everything on top of the transaction: products, subscriptions, license keys and entitlements, invoicing, the customer portal, and analytics. Countries you don’t explicitly route fall back to Dodo as full-service Merchant of Record.
- You are the Merchant of Record. Dodo does not calculate or charge tax on BYOP transactions — your own invoice issuer details (business name, tax ID, and address) replace the Dodo block on invoices and refund receipts.
- Disputes and refunds are handled in your processor. BYOP disputes are read-only in the Dodo dashboard, since accept/challenge happens inside Stripe or Adyen.
- Payments route through Hyperswitch and currently support credit and debit cards only.
is_byop and a payment_provider discriminator (stripe, adyen, or dodo) so you can identify how each transaction was routed. The fields are additive — Merchant-of-Record traffic continues to report payment_provider: dodo.
Learn more: Bring Your Own Processor | BYOP with Stripe | BYOP with Adyen
2. Official Rust SDK Release
The official Dodo Payments Rust SDK is now available as thedodopayments crate on crates.io. The launch line is aligned with the Dodo Payments API version series, with v1.105.0 as the first public API-line release and v1.106.0 already published with the latest OpenAPI regeneration.
Install it with Cargo:
- Strongly typed request and response models across the Dodo Payments API surface.
Client::from_env()for readingDODO_PAYMENTS_API_KEYfrom the environment.- Typed pagination helpers, including
get_next_page()andinto_stream()for list endpoints. - Configurable environments and timeouts, including test-mode support.
- Binary response decoding for PDF-style responses such as invoices, payout invoices, and refund invoices.
- A fluent resource-chain builder API for ergonomic Rust call sites.
3. New Payment Methods: Korean Wallets & Przelewy24
Four new local payment methods are now available, expanding coverage in South Korea and Poland. South Korea (KRW) — three Korean wallets surface on KRW checkouts:| Method | API type | Subscriptions |
|---|---|---|
| Kakao Pay | kakao_pay | Yes |
| Naver Pay | naver_pay | Yes |
| PAYCO | payco | No (one-time only) |
KR and KRW billing — if your product is priced in another currency, enable Adaptive Currency so the customer is billed in KRW.
Poland (PLN) — Przelewy24 (P24), Poland’s leading online payment method, now settles in PLN (not EUR) and supports one-time payments. Pass przelewy24 in allowed_payment_method_types.
Learn more: South Korea Payment Methods | European Payment Methods | Payment Methods Overview
4. brand_id on Every Webhook Payload
Every webhook event payload now includes a brand_id, so you can attribute payments, subscriptions, refunds, disputes, license keys, credit ledger entries, entitlement grants, dunning attempts, and abandoned checkouts to a specific brand. Where an entity has no brand of its own, brand_id falls back to the business’s primary brand.
No integration changes are required — the field is additive and appears automatically on existing webhook endpoints.
Learn more: Multiple Brands | Webhook Events
5. Decimal-Aware Currency Handling
Currency handling has been reworked so amounts are computed and displayed with the correct precision for each currency, instead of assuming two decimals everywhere. The 16 zero-decimal currencies — including JPY, KRW, VND, CLP, XAF, and XOF — are now handled accurately across payments, invoices, payouts, emails, and analytics, and presentment (Adaptive Currency) conversions are precision-aware end to end. This removes a class of rounding and display errors for zero-decimal currencies and lays the groundwork for additional precisions in the future.Improvements
6. Higher Product Entitlement & Credit Limits
- Product entitlements per product raised from 20 to 50.
- Credit entitlements (credits attached to a product) raised from 3 to 5.
7. Signed Customer Credits in Change Plan Preview
The change-plan preview now returnscustomer_credits as a signed value: negative when credits are deducted to offset a charge (typical on upgrades) and positive when credits are added (from a downgrade proration refund or a wallet top-up), making it clear whether credits are being used or granted.
Learn more: Subscription Upgrade & Downgrade
8. card_last_four and card_network on List Payments
The List Payments response now includes card_last_four and card_network on each payment, so you can display card details in lists without fetching each payment individually.
Learn more: List Payments
9. Branded ACR & Dunning Emails
Abandoned-cart recovery (ACR) and subscription dunning recovery emails now use the relevant brand’s name and logo instead of the business default, so the recovery experience matches the brand the customer purchased from.
10. Improved Tax ID Validation
Tax ID validation at checkout has been extended with notation detection and registry lookup (via the Tax ID Pro integration), reducing false rejections of valid IDs. The business verification form now includes a country selector to prevent Tax ID validation errors, and file uploads are more reliable with a progress indicator and a single consolidated error toast.11. Analytics Improvements
Dashboard analytics now include corrected subscription MRR, active-subscription counts, and retention/churn calculations.
- Page-wise analytics — new tiles surface revenue and discount performance per checkout page.
- A gross/net revenue toggle and an MRR breakdown on the revenue view.
- Chart tooltips now show currency and percentage units, including zero-value points.
12. Dashboard & Storefront Polish
- Brand filter added to the product list, with filters combined into a single button and brands lazy-loaded.
- Product collection, add-on, and credit forms reworked with create / edit / duplicate flows.
- Payout settings page redesigned, with the ability to recover a failed payout to success.
- Payment-provider badges (Stripe / Adyen / Dodo) surfaced on the transactions and disputes tables.
- Storefront store-banner copy refined.
Other Fixes & Improvements
- Korean and several other currencies (VND, PYG, XOF, XAF) now default to local currency at checkout.
- Minor bug fixes and stability improvements across the platform.