For AI agents and LLMs: a structured documentation index is available at /llms.txt. Every page has a Markdown sibling — append .md to any URL.

Skip to content
Docs

Pass checkout settings

Pass settings to Paddle.js to determine how opened checkouts should work. Set default settings for all checkouts on a page to save time.

AI summary

Pass settings to Paddle.js to control checkout behavior such as display mode, theme, locale, and whether customers can change their email — either globally via Paddle.Initialize() or per-checkout via Paddle.Checkout.open().

  • • Inline checkout requires displayMode: 'inline', frameTarget, frameStyle (min-width 312px), and frameInitialHeight (recommended: 450).
  • • Pass checkout.settings to Paddle.Initialize() to apply defaults to all checkouts on a page, avoiding repetition when you have multiple checkout buttons.
  • • Set allowLogout: false when presenting an existing customer with upgrade options to prevent them from changing the email address on an open checkout.

As well as passing items to a checkout, you can pass settings that tell Paddle.js how a checkout should work.

If you offer multiple products or plans, you might have more than one checkout button on a page. To save time, you can pass default settings that apply to all checkouts opened when including Paddle.js.

How it works

You can pass settings to Paddle.js to determine how opened checkouts should work. You can do this in three ways:

  • Pass data attributes to button that opens checkout.
    Use HTML data attributes on your checkout launcher element. The settings you pass apply only to the opened checkout.
  • Apply settings to only the opened checkout.
    Pass settings to Paddle.Checkout.open(). The settings you pass apply only to the opened checkout.
  • Apply settings to all checkouts opened on a page.
    Pass checkout.settings to Paddle.Initialize(). The settings you pass apply to all checkouts.

If you have more than one checkout link on a page and all the checkouts you use have the same settings, we recommend using the Paddle.Initialize() method. This sets default settings that apply to all checkouts opened on the page, meaning you don't need to pass the same settings for each checkout.

Use Paddle.Checkout.open() or HTML data attributes to pass settings for each checkout on a page. HTML data attributes are generally recommended for overlay checkouts, or when working with a CMS that has limited customization options.

Before you begin

Required settings

If you're building an inline checkout, some settings are required:

displayMode string|null
Default: overlay

Display mode for the checkout.

frameTarget string|null

Class name of the element where the checkout should be rendered.

frameStyle string|null

Styles to apply to the checkout element. min-width must be set to 286px or above with checkout padding off, 312px with checkout padding on.

frameInitialHeight string|null

Height in pixels of the <div> on load. Do not include px. Recommended 450.

One-page checkout

By default, Paddle presents customers with a multi-page checkout experience. You can present customers with a one-page experience to collect customer information and payment details on the same page.

Use variant to present one-page or multi-page checkout experiences. Paddle Checkout defaults to multi-page by default.

variant string|null
Default: multi-page

Checkout experience presented to customers.

Dark mode

Use theme to style a checkout for dark or light mode. Paddle Checkout defaults to light by default.

theme string|null
Default: light

Theme for the checkout.

Allow logout

If you're presenting an existing customer with options to upgrade, set allowLogout to false. This hides the option to change the customer on an opened checkout.

allowLogout boolean|null
Default: true

Whether the user can change their email once on the checkout.

Locale

Paddle Checkout uses the browser default locale if locale isn't passed. If you have a language selector on your website or app, we recommend passing the chosen locale to opened checkout so that it matches.

locale string|null
Default: (browser default)

Language for the checkout. If omitted, the browser's default locale is used.

Hide option to add discount

Paddle Checkout includes an "Add discount" option to let customers enter a discount code. If you don't offer discounts, you might like to hide this option.

showAddDiscounts boolean|null
Default: true

Whether the option to add a discount is displayed at checkout. Requires the "display discount field on the checkout" option enabled in Paddle > Checkout > Checkout settings.

Hide option to add tax number

Paddle Checkout includes an "Add tax number" option to let customers enter a tax number and business information. If you don't work with businesses, you might like to hide this option.

showAddTaxId boolean|null
Default: true

Whether the option to add a tax number is displayed at checkout.

Set default settings during initialization

Rather than passing checkout settings each time you create a link or call Paddle.Checkout.open, you can set default settings when you include Paddle.js. These settings apply to all checkouts opened on the page.

Use the Paddle.Initialize() method and pass your checkout defaults to checkout.settings. You can do this in the same block where you include Paddle.js on your page.

This example sets up an inline checkout, then sets the checkout theme to dark, locale to Spanish (es), and allowLogout to false:

HTML
<script src="https://cdn.paddle.com/paddle/v2/paddle.js"></script>
<script type="text/javascript">
Paddle.Initialize({
token: 'live_7d279f61a3499fed520f7cd8c08', // replace with a client-side token
pwCustomer: { },
checkout: {
settings: {
displayMode: "inline",
frameTarget: "checkout-container"
frameInitialHeight: "450",
frameStyle: "width: 100%; min-width: 312px; background-color: transparent; border: none;",
theme: "dark",
locale: "es",
allowLogout: false
}
}
});
</script>

To learn more, see Paddle.Initialize()

Pass settings for each checkout

You can pass settings for each checkout that you open on the page when you create a link or call Paddle.Checkout.open().

This example sets the checkout theme to dark, locale to Spanish (es), and allowLogout to false.

JavaScript
Paddle.Checkout.open({
settings: {
theme: "dark",
locale: "es",
allowLogout: false,
items: [
{
priceId: 'pri_01gs59hve0hrz6nyybj56z04eq',
quantity: 1
},
{
priceId: 'pri_01gs59p7rcxmzab2dm3gfqq00a',
quantity: 1
}
]
}
});

For a full list of parameters, see Paddle.Checkout.open()

This example sets the checkout data-theme to dark, data-locale to Spanish (es), and data-allow-logout to false.

Paddle Checkout launcher
<a
href='#'
class='paddle_button'
data-theme='dark'
data-locale='es'
data-allow-logout='false'
data-items='[
{
"priceId": "pri_01gs59hve0hrz6nyybj56z04eq",
"quantity": 1
},
{
"priceId": "pri_01gs59p7rcxmzab2dm3gfqq00a",
"quantity": 1
}
]'
>
Buy Now
</a>

For a full list of HTML data attributes, see HTML data attributes

Was this page helpful?