> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# v1.120.40 (November 3, 2026)

> Single Page Checkout, Dodo AI in the dashboard, Connected Apps for MCP and the CLI, custom team roles, workload identity, ownership transfers, custom retry schedules, retention offers, and a rebuilt Customer Portal.

## New Features

### 1. **Single Page Checkout**

Checkout can now run on one page. Contact details, payment methods, and the pay button sit together, and the payment confirms without leaving the page. Set `feature_flags.single_page` to `true` on a checkout session to use it. Single page sessions collect a minimal address by default.

Choose how payment methods appear with `customization.payment_method_layout`: `accordion`, the default, shows one row per method, and `tabs` shows one tab per method with wallet buttons above them.

On a single page checkout, Apple Pay also checks the total and currency against what the customer saw, and test card autofill in test mode fills every required field.

![Single page checkout with the order summary on the left, and Apple Pay and Google Pay, the email field, the payment method list, and the Pay Now button on the right](https://mintcdn.com/dodopayments/BgNHdF-IjEx41CmK/images/single-page-checkout/cover.png?fit=max\&auto=format\&n=BgNHdF-IjEx41CmK\&q=85\&s=2e93dfd6129d45e02f61e18636671a98)

Learn more: [Single Page Checkout](https://docs.dodopayments.com/features/single-page-checkout.md)

### 2. **Dodo AI in the Dashboard**

Ask Dodo AI from the sparkle button in the top bar or the **Dodo AI** item in the sidebar. It opens in a side panel next to the page you are on and can answer questions about your business, summarize sales, and carry out tasks such as refunding a payment or creating a usage meter.

Dodo AI asks for your approval before it changes anything, and it can only do what your own role allows. In live mode it reminds you that actions affect real customers and data.

![Dodo AI side panel open next to the dashboard home page, with suggested prompts and the Ask Dodo AI input](https://mintcdn.com/dodopayments/uwvgMLjFmJawuWAZ/images/dodo-ai/dodo-ai-panel.png?fit=max\&auto=format\&n=uwvgMLjFmJawuWAZ\&q=85\&s=91ad90ce8dc5fc48f040d18f22f33635)

### 3. **Connected Apps for MCP and the CLI**

AI assistants and the Dodo CLI can now sign in to your business with OAuth instead of a stored API key. You choose a mode and the access to grant on a consent page, and you can only grant access your own role holds. The CLI signs in with `dodo login`, including from a machine without a browser.

Review every connection under **Settings → Connected Apps**, revoke one or all of them, and turn **MCP and CLI access** off for a mode to refuse new connections.

![Connected Apps page with the MCP and CLI access switch for test mode and one Dodo CLI connection](https://mintcdn.com/dodopayments/qcWXQ3CCdewP7gKI/images/features/connected-apps-session.png?fit=max\&auto=format\&n=qcWXQ3CCdewP7gKI\&q=85\&s=acd1c4f1d8d6a6f05c767a6556652a38)

Learn more: [Connected Apps](https://docs.dodopayments.com/features/connected-apps.md)

### 4. **Custom Team Roles**

Give each team member only the access they need. Seven predefined roles cover common jobs — **Admin**, **Developer**, **Analyst**, **Support Specialist**, **Finance**, and **View Only**, alongside **Owner** — and **Create Custom Role** lets you set **None**, **Read**, or **Write** for each resource.

**Invite Member** now accepts several email addresses at once, all with the same role.

![Create Custom Role sheet with the role name Billing Manager and None, Read, or Write access chosen for Payments, Refunds, and Disputes](https://mintcdn.com/dodopayments/XOYHRQPqQYa7w5NM/images/team/create-custom-role.png?fit=max\&auto=format\&n=XOYHRQPqQYa7w5NM\&q=85\&s=eedc37f26823dfefa18c0511f6353974)

Learn more: [Custom Roles](https://docs.dodopayments.com/features/team.md#custom-roles)

### 5. **API Key Access and IP Allowlists**

Each API key can now have its own access, set to **None**, **Read**, or **Write** per resource, and an **IP Allowlist** of up to 20 IP addresses or CIDR ranges. A request from any other address is refused. The API keys table now shows each key's prefix, access, and IP limits.

![Create API Key sheet with a key name, an IP Allowlist containing an IP address and a CIDR range, and per-resource access for Payments and Refunds](https://mintcdn.com/dodopayments/7FDfaifCNzjnTonx/images/api-keys/create-api-key-ip-allowlist.png?fit=max\&auto=format\&n=7FDfaifCNzjnTonx\&q=85\&s=b4eb2224c6a334e5c2fd6d436cda8ab8)

Learn more: [Authentication](https://docs.dodopayments.com/api-reference/introduction.md#authentication)

### 6. **Workload Identity**

Let CI/CD pipelines and cloud workloads call Dodo Payments with short-lived tokens instead of stored API keys. Add an identity provider under **Developer → Workload Identity** — GitHub Actions, GitLab CI, Terraform Cloud, Vercel, Google Cloud, AWS, Kubernetes, or any OIDC provider — and set trust rules for which workloads may get a token and with what scopes.

![Workload Identity page in the dashboard that lists the identity providers of the business](https://mintcdn.com/dodopayments/rF0hPasO2gd-TLgx/images/workload-identity/providers-list.png?fit=max\&auto=format\&n=rF0hPasO2gd-TLgx\&q=85\&s=ee134382abe83b9cb60ae2e448e75b87)

Learn more: [Workload Identity](https://docs.dodopayments.com/developer-resources/workload-identity/overview.md)

### 7. **Ownership and Entity Transfers**

Hand a business to another team member, or change the legal entity behind it, from the dashboard.

* **Ownership transfer**: Change a team member's role to **Owner** from **Settings → Team & Access**. You confirm with an emailed code, the new owner accepts within 48 hours, and you stay on the team as an Admin.
* **Entity transfer**: Start one from **Danger Zone** under **Settings → Business** to move between an individual and a registered entity. The new entity goes through verification again.

Automatic payouts pause during either transfer until the new owner or entity is verified.

![Change Role panel with the Owner role selected, noting that assigning it starts an ownership transfer](https://mintcdn.com/dodopayments/GGJ2RbNuuzLQXnHx/images/ownership-transfer/change-role-owner.png?fit=max\&auto=format\&n=GGJ2RbNuuzLQXnHx\&q=85\&s=a3fe213bd5c7e1503bcea93a6a5ad5f6)

Learn more: [Ownership Transfer](https://docs.dodopayments.com/features/ownership-transfer.md) and [Entity Transfer](https://docs.dodopayments.com/features/entity-transfer.md)

### 8. **Custom Payment Retry Schedules**

Choose when failed subscription payments are retried. Under **Settings → Revenue Recovery**, keep the **Standard** schedule or switch to **Custom** and set up to eight retries, each waiting between 12 hours and 7 days, all within 30 days.

Dodo Payments still never retries hard declines such as lost, stolen, or invalid cards. The payment page shows when the next automatic retry runs.

![Payment retries settings with Custom selected under Retry schedule, three retry rows with wait menus, and an Add retry button](https://mintcdn.com/dodopayments/UMiQC1uqTiTBQuTJ/images/recovery/payment-retries-custom-schedule.png?fit=max\&auto=format\&n=UMiQC1uqTiTBQuTJ\&q=85\&s=69a6a5efe560568ecea46c96366e64b6)

Learn more: [Custom Schedule](https://docs.dodopayments.com/features/recovery/payment-retries.md#custom-schedule)

### 9. **Cancellation Retention Offer**

Offer customers a discount when they try to cancel. Turn on **Offer a Discount When a Customer Cancels** under **Settings → Subscriptions** and set the percentage, 10% by default.

The Customer Portal shows the offer before the cancellation goes through. It applies to the next billing cycle only, each customer can accept it once, and accepting it removes a cancellation that was already scheduled.

![Before you cancel sheet in the Customer Portal offering a percentage off the next invoice, with Continue to Cancel and Redeem Offer buttons](https://mintcdn.com/dodopayments/TB6T3Cjt2AWqcBhK/images/customer-portal/retention-offer.png?fit=max\&auto=format\&n=TB6T3Cjt2AWqcBhK\&q=85\&s=e5c6e675809879aab3339083ec55f8d9)

Learn more: [Retention Offer](https://docs.dodopayments.com/features/customer-portal.md#retention-offer)

### 10. **A Rebuilt Customer Portal**

The Customer Portal has been redesigned, with subscriptions first on the overview and a detail page for each subscription. URLs are unchanged.

* **Retry a failed payment**: A customer whose renewal failed can select **Retry Payment** on a past-due or on-hold subscription, or **Update Payment Method**. Retries need payment retries turned on for your business.
* **Invoices open in the portal**: Invoices open in the browser instead of downloading.
* **Wallet card details**: Billing history shows the card behind each Apple Pay or Google Pay payment.

Learn more: [Retrying a Failed Payment](https://docs.dodopayments.com/features/customer-portal.md#retrying-a-failed-payment)

### 11. **Prorated, Keep Billing Date**

A new proration mode, `prorated_immediately_keep_cycle`, charges the price difference for the time left in the current billing cycle without moving the next billing date. It appears in the dashboard as **Prorated, keep billing date** and needs the plan change to apply immediately. A change to a longer billing interval falls back to `prorated_immediately`.

Learn more: [Proration Modes](https://docs.dodopayments.com/features/subscription.md#proration-modes)

### 12. **Refunds in the Payment Currency**

Refund a cross-currency payment in the currency the customer paid. Send `currency` on the refund request, and the amount is taken exactly in that currency, including the proportional share of any Adaptive Currency fee. Refunded tax never exceeds the tax settled on the payment.

Each successful refund also shows its network reference — the ARN, RRN, or STAN — once the card network provides it, usually one to three business days after the refund.

Learn more: [Refunds in the Payment Currency](https://docs.dodopayments.com/features/transactions/refunds.md#refunds-in-the-payment-currency)

### 13. **More Detail on Every Payment**

* **3D Secure result**: Payments return `three_ds_status`, `three_ds_flow`, and `three_ds_version`, and the payment page shows the authentication result and flow.
* **Wallet card details**: Apple Pay and Google Pay payments show the card's last four digits, expiry, and type.
* **Subscription billing**: Payments carry `charge_type` (`new`, `renewal`, `plan_change`, or `on_demand`) and `service_periods`, the subscription periods the payment covers.
* **Payment lists**: Each item now includes `checkout_session_id` and `retry_attempt`.
* **Renewal webhooks**: `subscription.renewed` now includes the `payment_id` of the renewal payment.

Learn more: [View the 3DS Result](https://docs.dodopayments.com/features/payment-methods/cards.md#view-the-3ds-result)

### 14. **Analytics, Payouts, and Catalog**

* **Analytics**: Charts gain a **Daily**, **Weekly**, or **Monthly** interval, plus the date presets **1 year**, **This month**, **This quarter**, and **This year**.
* **Payouts**: Payout balances, the home cards, and the Balances total now show your settlement currency.
* **Add-ons**: Archive an add-on to remove it from every product that offers it, and unarchive it later. Existing subscriptions keep it.
* **Meters**: Edit a meter's name, description, and measurement unit.

Learn more: [Archiving Add-ons](https://docs.dodopayments.com/features/addons.md#archiving-add-ons) and [Editing a Meter](https://docs.dodopayments.com/features/usage-based-billing/meters.md#editing-a-meter)

### 15. **Checkout Improvements**

* **Payment methods by currency**: Methods are ordered for the currency the customer pays in.
* **Shorter forms**: SEPA, EPS, iDEAL, and Klarna ask only for the details they still need.
* **Order summary**: A new summary shows product images, add-ons, and a trial row per subscription.
* **Pix**: The customer sees the IOF fee and the total due before confirming.
* **WeChat Pay**: Offered for payments of 1,000 CNY or less.

Learn more: [Brazilian IOF Tax](https://docs.dodopayments.com/features/payment-methods/pix.md#brazilian-iof-tax)

### 16. **Serbian and Croatian**

Checkout, the Customer Portal, and the dashboard are now available in Serbian and Croatian. Checkout supports 24 languages and the Customer Portal supports 23.

Learn more: [Supported Languages](https://docs.dodopayments.com/features/checkout.md#supported-languages)

### 17. **Account Security**

* **Active sessions**: See every device signed in to your account under **Settings → Account**, and sign out of one, all others, or everywhere.
* **Sign-in**: The login page marks the option you used last, and **Sign Out** is back in the profile menu.

Learn more: [Active Sessions](https://docs.dodopayments.com/miscellaneous/accounts.md#active-sessions)

### 18. **Checkout SDK 2.1**

* **`merchant_page_url`**: `Checkout.open()` and `Checkout.buildUrl()` now send the URL of the page that opened checkout, without its query string or fragment.
* **UPI on Android**: UPI app links open from inline and overlay checkout on Android Chrome.
* **Apple Pay name**: Apple Pay asks for the payer's name when the checkout requires a cardholder name.

Learn more: [Overlay Checkout](https://docs.dodopayments.com/developer-resources/overlay-checkout.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.