> For the complete documentation index, see [llms.txt](https://developer.paddle.com/llms.txt).

# Inline checkout

Inline checkout lets you create integrated checkout experiences. You display information about items and totals, letting Paddle take care of capturing customer and payment details.

---

Build integrated checkout experiences with inline checkout. Customers sign up and pay for subscriptions as part of your app or website, making for a seamless experience.

Using inline checkout, you can:

- Create checkout experiences that are fully integrated with your app or website.
- Choose whether to present a one-page or a multi-page checkout experience.
- Let Paddle securely capture customer and payment information in an optimized checkout frame.
- Display items, totals, and other information from Paddle on your page.
- Use [Paddle.js methods](https://developer.paddle.com/paddlejs/methods/paddle-initialize.md) and [events](https://developer.paddle.com/paddlejs/events/overview.md) to build advanced checkout experiences.

## How it works

Inline checkout works by embedding a frame with Paddle Checkout into your website or app.

The checkout frame handles collecting customer information and capturing payment details. Your page displays the items list, totals, and options for changing what's on the checkout. [Paddle.js](https://developer.paddle.com/paddlejs/overview.md) lets your page and the checkout frame interact with each other.

Paddle automatically creates a subscription when a checkout completes, [ready for you to provision](https://developer.paddle.com/build/subscriptions/provision-access-webhooks.md).

{% collapsible title="What makes a good inline checkout?" isOpen=false  %}
It's important that customers know who they're buying from, what they're buying, and how much they're paying.

To build an inline checkout that's compliant and optimized for conversion, your implementation must include:

1. If recurring, how often it recurs and the total to pay on renewal. If a trial, how long the trial lasts.
2. A description of what's being purchased.
3. Transaction totals, including subtotal, total tax, and grand total. Be sure to include the currency too.
4. The full inline checkout frame, including the checkout footer that has information about Paddle, our terms of sale, and our privacy policy.
5. A link to your refund policy, if it differs from the Paddle.com standard refund policy.
{% /collapsible %}

## Customer journey

{% tabs %}
{% tab-item title="One-page checkout" %}

{% journey %}
{% journey-step title="Customer opens a checkout" id="journey-eap-step-1" %}

You can open inline checkout by [passing items](https://developer.paddle.com/build/checkout/pass-update-checkout-items.md) or an existing transaction. Use [Paddle.js](https://developer.paddle.com/paddlejs/events/overview.md) to show and update on-page information, and [Paddle.js methods](https://developer.paddle.com/paddlejs/methods/paddle-checkout-updateitems.md) to update items based on customer interaction.

{% /journey-step %}

{% journey-step title="Customer enters their details on one screen" id="journey-eap-step-2" %}

Inline checkout asks customers for their email, [country](https://developer.paddle.com/concepts/sell/supported-countries-locales.md), and (in some regions) ZIP or postal code. On the same screen, customers are presented with the card payment form, as well as options to pay with PayPal, Apple Pay, Google Pay, or [other local payment method](https://developer.paddle.com/concepts/payment-methods/overview.md).

You can [prefill customer details](https://developer.paddle.com/build/checkout/prefill-checkout-properties.md) and present saved payment methods to speed up checkout.

{% /journey-step %}

{% journey-step title="Checkout completed" id="journey-step-4" %}

Paddle routes every payment to the best acquirer for that sale to get the best possible chance of success. Customers enter [a success workflow that you can build](https://developer.paddle.com/build/checkout/handle-success-post-checkout.md).

{% /journey-step %}

{% journey-step title="Paddle creates a subscription" id="journey-step-5" %}

Paddle automatically creates a subscription for the customer, [ready for you to provision](https://developer.paddle.com/build/subscriptions/provision-access-webhooks.md). The payment method the customer used is held on file for renewals or subscription changes.

{% /journey-step %}
{% /journey %}

{% /tab-item %}
{% tab-item title="Multi-page checkout" %}

{% journey %}
{% journey-step title="Customer opens a checkout" id="journey-step-1" %}

You can open inline checkout by [passing items](https://developer.paddle.com/build/checkout/pass-update-checkout-items.md) or an existing transaction. Use [Paddle.js](https://developer.paddle.com/paddlejs/events/overview.md) to show and update on-page information, and [Paddle.js methods](https://developer.paddle.com/paddlejs/methods/paddle-checkout-updateitems.md) to update items based on customer interaction.

{% /journey-step %}

{% journey-step title="Customer enters their details" id="journey-step-2" %}

Inline checkout asks customers for their email, [country](https://developer.paddle.com/concepts/sell/supported-countries-locales.md), and (in some regions) ZIP or postal code. You can [prefill this information](https://developer.paddle.com/build/checkout/prefill-checkout-properties.md) to skip this step entirely.

{% /journey-step %}

{% journey-step title="Customer chooses a payment method" id="journey-step-3" %}

Customers land on a card payment form, or they can choose to pay with PayPal, Apple Pay, Google Pay, or [other local payment method](https://developer.paddle.com/concepts/payment-methods/overview.md).

{% /journey-step %}

{% journey-step title="Checkout completed" id="journey-step-4" %}

Paddle routes every payment to the best acquirer for that sale to get the best possible chance of success. Customers enter [a success workflow that you can build](https://developer.paddle.com/build/checkout/handle-success-post-checkout.md).

{% /journey-step %}

{% journey-step title="Paddle creates a subscription" id="journey-step-5" %}

Paddle automatically creates a subscription for the customer, [ready for you to provision](https://developer.paddle.com/build/subscriptions/provision-access-webhooks.md). The payment method the customer used is held on file for renewals or subscription changes.

{% /journey-step %}
{% /journey %}

{% /tab-item %}
{% /tabs %}