Skip to main content
Checkout page
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.

Adaptive Currency

Adaptive Currency allows customers to pay in their preferred local currency, improving trust and conversion rates.

How It Works

  1. Enable: Enable Adaptive Currency from your Business Settings
  2. Select: Customers can switch currencies directly on checkout
  3. Convert: Prices are dynamically converted using real-time FX rates
  4. Display: Final payable amount is shown transparently before payment
Currency selector on checkout

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.
Language selector on checkout

Key Highlights

  • Language selector available directly on checkout
  • UI text, labels, and system messages are localized
  • Improves accessibility and international conversion

Supported Languages

#CodeLanguage
1enEnglish
2arArabic
3caCatalan
4cnChinese
5deGerman
6esSpanish
7frFrench
8heHebrew
9idIndonesian
10itItalian
11jaJapanese
12nlDutch
13plPolish
14ptPortuguese
15svSwedish
16trTurkish

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

1

Location Detection

Tax rules are applied based on the customer’s country (and region where applicable).
2

Dynamic Updates

Tax amount updates automatically when:
  • Country changes
  • Address is updated
3

Transparent Display

Final tax breakdown is shown clearly before payment.
Tax calculation is fully automated. No manual configuration required for standard digital goods and SaaS products.

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
Business Tax ID entry 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

  1. Customer enters the discount code
  2. Discount is validated instantly
  3. Updated price and savings are shown clearly
Discount code entry on checkout

API Integration

Pre-apply a discount code or enable the discount input field:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  discount_code: 'WELCOME20', // Pre-apply a code
  feature_flags: {
    allow_discount_code: true // Show discount input field
  },
  return_url: 'https://yoursite.com/return'
});

Discount Codes

Learn how to create and manage discount codes.

Smart Address Collection

The checkout supports flexible address entry for faster completion.

Options Available

OptionDescription
Google Address AutofillQuick selection with autocomplete
Manual EntryFull control for complete addresses
Country SelectionDrives tax and compliance logic
Address collection balances speed, accuracy, and global coverage to maximize conversion while ensuring compliance.

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.

Checkout Session Configuration

Control checkout behavior using the Checkout Sessions API:
const session = await client.checkoutSessions.create({
  product_cart: [
    { product_id: 'prod_abc', quantity: 1 }
  ],
  customer: {
    email: '[email protected]',
    name: 'Jane Doe'
  },
  billing_currency: 'EUR', // Set specific currency
  discount_code: 'PROMO10',
  feature_flags: {
    allow_discount_code: true
  },
  return_url: 'https://yoursite.com/return',
  metadata: {
    order_ref: 'ORD-12345'
  }
});