
Dodo Payments checkout is a conversion-optimized, globally compliant checkout designed for digital products and SaaS businesses. It supports multiple currencies, languages, taxes, discounts, add-ons, and business-friendly compliance workflows.
Checkout Sessions API
Create hosted checkout sessions programmatically.
Preview Checkout
Calculate pricing and taxes before creating a session.
Payment Methods
Supported payment methods and configuration options.
Adaptive Currency
Adaptive Currency allows customers to pay in their preferred local currency, improving trust and conversion rates.How It Works
- Enable: Enable Adaptive Currency from your Business Settings
- Select: Customers can switch currencies directly on checkout
- Convert: Prices are dynamically converted using real-time FX rates
- Display: Final payable amount is shown transparently before payment

Adaptive Currency
Learn more about supported currencies, conversion fees, and refund handling.
Multi-Language Checkout
Dodo Payments supports multiple languages on the checkout page, allowing customers to complete payments in a language they’re comfortable with.
Key Highlights
- Language selector available directly on checkout
- UI text, labels, and system messages are localized
- Improves accessibility and international conversion
Supported Languages
The checkout page supports 21 languages:| Language | Code |
|---|---|
| Arabic | ar |
| Catalan | ca |
| Chinese | zh |
| Dutch | nl |
| English | en |
| French | fr |
| German | de |
| Hebrew | he |
| Indonesian | id |
| Italian | it |
| Japanese | ja |
| Korean | ko |
| Malay | ms |
| Polish | pl |
| Portuguese | pt |
| Romanian | ro |
| Russian | ru |
| Spanish | es |
| Swedish | sv |
| Thai | th |
| Turkish | tr |
Automatic Tax Calculation
Taxes are automatically calculated based on the customer’s billing location, ensuring compliance with GST, VAT, and sales tax requirements without manual setup.How Tax Calculation Works
Location Detection
Tax rules are applied based on the customer’s country (and region where applicable).
Business Tax ID Support
For registered businesses, the checkout allows customers to enter their Business Tax ID (e.g., VAT/GST number).What Happens When a Tax ID Is Entered
- Tax eligibility is validated in real-time
- Applicable tax exemptions or reverse-charge rules are applied
- Tax amount updates instantly on checkout

This is especially useful for B2B SaaS and digital services where business customers may be eligible for tax exemptions.
Discount Codes
Customers can apply discount or promo codes you’ve created in the dashboard directly on the checkout page.Checkout Experience
- Customer enters the discount code
- Discount is validated instantly
- Updated price and savings are shown clearly

API Integration
Pre-apply a discount code or enable the discount input field:Discount Codes
Learn how to create and manage discount codes.
Validate Discount by Code
Look up and validate discounts using code names.
Smart Address Collection
The checkout supports flexible address entry for faster completion.Options Available
| Option | Description |
|---|---|
| Google Address Autofill | Quick selection with autocomplete |
| Manual Entry | Full control for complete addresses |
| Country Selection | Drives tax and compliance logic |
Custom Fields
Collect additional information from customers during checkout by defining custom form fields. This is useful for gathering data like company name, team size, referral source, or any other business-specific information.Available Field Types
| Type | Description |
|---|---|
text | Single-line text input |
number | Numeric input |
email | Email address with validation |
url | URL with validation |
date | Date picker |
dropdown | Select from predefined options |
boolean | Yes/No toggle |
Example
Customer responses are automatically included in webhook payloads (
payment.succeeded, subscription.created) and API responses via the custom_field_responses array. You can define up to 5 custom fields per checkout session.Custom Fields Guide
Learn more about custom field configuration and accessing responses.
Privacy Policy & Terms Acceptance
To ensure legal and compliance transparency:- Privacy Policy and Buyer Terms links are clearly displayed on checkout
- Customers explicitly acknowledge these before completing payment
This helps meet global consumer protection and data privacy requirements including GDPR compliance.
Collection Checkout
Product Collections enable a unified checkout experience where customers can view and select from multiple related products (e.g., Starter, Pro, Enterprise plans) in a single checkout.How It Works
- All products displayed: Customers see every active product in the collection
- First product pre-selected: The first product in the collection is automatically selected
- Compare options: Customers can compare pricing and features before choosing
- Single selection: After selecting a product, checkout proceeds with standard payment flow
Creating a Collection Checkout
Product Collections
Learn how to create and manage product collections for unified checkout experiences.
Checkout Session Configuration
Control checkout behavior using the Checkout Sessions API:Checkout Sessions API
Complete API reference for checkout sessions.
Checkout Integration Guide
Step-by-step guide to integrating checkout.
Checkout Theme Customization
Customize the checkout page appearance to match your brand with thetheme_config parameter when creating a checkout session via the API. Configure colors, fonts, border radius, and button text for both light and dark modes.
This section covers the server-side API theme configuration using
theme_config. If you’re using the Checkout SDK (overlay or inline checkout), see the theme customization sections in Overlay Checkout or Inline Checkout which use camelCase properties (e.g., bgPrimary instead of bg_primary).Theme Configuration Options
| Property | Description |
|---|---|
light | Color configuration for light mode |
dark | Color configuration for dark mode |
font_primary_url | URL for the primary font |
font_secondary_url | URL for the secondary font |
font_size | Font size: xs, sm, md, lg, xl, 2xl |
font_weight | Font weight: normal, medium, bold, extraBold |
radius | Border radius for UI elements (e.g., 4px, 0.5rem, 8px) |
pay_button_text | Custom text for the pay button (e.g., “Complete Purchase”, “Subscribe Now”) |
Color Configuration (Light/Dark Mode)
Each mode (light and dark) supports the following color properties:
| Property | Description |
|---|---|
bg_primary | Background primary color |
bg_secondary | Background secondary color |
text_primary | Text primary color |
text_secondary | Text secondary color |
text_placeholder | Text placeholder color |
text_error | Text error color |
text_success | Text success color |
border_primary | Border primary color |
border_secondary | Border secondary color |
button_primary | Primary button background color |
button_primary_hover | Primary button hover color |
button_secondary | Secondary button background color |
button_secondary_hover | Secondary button hover color |
button_text_primary | Primary button text color |
button_text_secondary | Secondary button text color |
input_focus_border | Input focus border color |
All color fields accept standard CSS color formats:
- Hex:
#fff,#ffffff,#ffffffff - RGB/RGBA:
rgb(255, 255, 255),rgba(255, 255, 255, 0.5) - HSL/HSLA:
hsl(120, 100%, 50%),hsla(120, 100%, 50%, 0.5) - Named colors:
red,blue,transparent