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

# Checkout Customization

> What the shop checkout page collects, how payment method options adapt to the cart, and how to pre-fill or lock fields via URL

# Checkout Customization

The shop checkout page (`/shop/{yourshop}/checkout`) adapts to what's actually in the customer's [cart](/shop-and-checkout/shopping-cart) — the fields shown, the payment method options, and the amount charged all depend on the products being purchased.

<Info>
  This page covers the multi-product shop checkout. Single-product PayRequest Page checkouts have their own styling options — see [PayRequest Page Styling](/shop-and-checkout/sales-page-styling).
</Info>

## How It Works

<Steps>
  <Step title="Billing information">
    Every checkout collects name, email, address, city, postal code, and country. If a customer is already logged into the [customer portal](/customer-management/customer-health), these fields are pre-filled from their saved profile.
  </Step>

  <Step title="Payment method selection adapts to the cart">
    * **Only one-time products in the cart** → customer pays once, no mandate needed.
    * **A recurring product is in the cart** → checkout asks for a payment mandate. Logged-in customers with an existing mandate can reuse it (**Existing Mandate**); otherwise they set up a **New Mandate** (credit card or automatic/direct debit, depending on what payment methods you've enabled).
    * **A deposit product is in the cart** (authorization hold) → payment method is locked to **credit card**, since that's the only method supporting the manual-capture flow deposits rely on. See [Security Deposits](/payment-processing/security-deposits).
  </Step>

  <Step title="Available payment methods come from your Mollie settings">
    The methods offered at checkout mirror what you've enabled in [Setting Up Payment Providers](/payment-processing/setting-up-payment-providers) — checkout doesn't have its own separate method list.
  </Step>

  <Step title="Submit">
    On submit, the order (and invoice, if **Auto Create Invoices** is on for your shop) is created, spam protection checks run, and the customer is redirected to complete payment.
  </Step>
</Steps>

## Pre-Filling and Locking Fields via URL

Checkout links can pre-fill (and optionally lock) customer details and products by appending query parameters, useful for embedding pre-built checkout links elsewhere:

| Parameter | Effect |
| - | - |
| `name`, `email`, `address` (or `adress`), `city`, `postal`, `country` | Pre-fills the matching billing field |
| `product` + `quantity` | Adds a specific product (and quantity) to the cart on load |
| `cf_{fieldname}`, `customfield_{fieldname}`, or `product_customfield_{fieldname}` | Sets a custom field value for the product being added |
| `disabled=true` | Greys out the billing fields so the pre-filled values can't be edited |

<Warning>
  Products added via `?product=` skip the "is this product currently visible" check, so a direct checkout link keeps working even for a product you've hidden from the shop listing — useful for private/unlisted offers, but worth remembering if you expect a hidden product to be fully unreachable.
</Warning>

For single-product links with more options (locking quantity, generating shareable links from the dashboard), see [Payment Page Dynamic Links](/payment-processing/payment-page-dynamic-links).

## Shop-Wide Checkout Settings

These are configured once on the [Shop Setup](/shop-and-checkout/shop-setup) page and apply to every checkout:

* **Tax Display** — inclusive or exclusive pricing shown at checkout.
* **Auto Create Invoices** — whether an invoice is generated automatically per order.
* **Allow Invoice Subscriptions** — whether recurring products can be paid by invoice instead of an automatic mandate.

## Fraud & Abuse Protection

Every checkout submission is checked against your [Spam Protection](/shop-and-checkout/spam-protection) settings (honeypot field, rate limiting, country blocking) before the order is created. If a customer abandons checkout without completing payment, [Checkout Recovery](/shop-and-checkout/checkout-recovery) can follow up automatically.

## FAQ

<AccordionGroup>
  <Accordion title="Can I make address fields optional?">
    Not on the shop cart checkout — name, email, and full address are always required there. If you need a lighter checkout, a single-product PayRequest Page checkout link may fit better depending on the product type.
  </Accordion>

  <Accordion title="Can I offer a discount code at checkout?">
    Not currently — the cart checkout doesn't have a coupon/discount code field.
  </Accordion>

  <Accordion title="Why does checkout only offer credit card for one of my products?">
    That product is a deposit (authorization hold) product. Mollie's manual-capture flow, which deposits require, is only supported for credit card, so checkout restricts the whole cart to that method when a deposit product is present.
  </Accordion>

  <Accordion title="Do URL parameters override a logged-in customer's saved details?">
    Yes — URL parameters take priority and pre-fill over the customer's saved profile data.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={2}>
  <Card title="Shopping Cart" icon="cart-shopping" href="/shop-and-checkout/shopping-cart">
    How products get added and priced
  </Card>

  <Card title="Spam Protection" icon="shield" href="/shop-and-checkout/spam-protection">
    Block bots and unwanted traffic
  </Card>

  <Card title="Checkout Recovery" icon="arrow-rotate-left" href="/shop-and-checkout/checkout-recovery">
    Win back abandoned checkouts
  </Card>

  <Card title="Setting Up Payment Providers" icon="credit-card" href="/payment-processing/setting-up-payment-providers">
    Enable payment methods
  </Card>
</CardGroup>


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