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

# How Checkout Works

> The path from buy button to delivered goods: how buyers reach checkout, what you can configure, and what every invoice status means.

Checkout turns a cart into an invoice. SellAuth hosts the page, applies your fee and tax rules, passes the buyer to the payment method they selected, and delivers once the payment clears.

## How buyers get there

| Route | Best for | Setup |
| - | - | - |
| Your storefront | Normal shopping, browsing a catalogue | Nothing, it is built in |
| [Checkout links](/developers/checkout-links) | Selling from Discord, ads, emails, a landing page | Paste a URL |
| [Checkout embed](/developers/embed) | Keeping buyers on your own site | A few lines of JavaScript |
| [Checkout API](/developers/checkout-api) | Custom orders, prefilled details, your own frontend | Backend call |

All four routes land on the same hosted checkout page, at a URL like `https://yourshop.mysellauth.com/checkout/98b3f45d848c5-0000000000003`. Buyers can return to that link later, which matters for methods that are not paid instantly.

<Warning>
  **The checkout link is also the delivery page.** Once the invoice completes, that same URL shows the delivered items: license keys, account details, instructions and download links. Anyone holding the link can see them, without logging in.

  Treat it like a receipt with the goods attached. Tell buyers not to post it in public, and do not paste a buyer's checkout link into a shared support channel or a screenshot.
</Warning>

## What the buyer does

<Steps>
  <Step title="Enters an email address">
    Delivery and the receipt are sent here. Typos in this field are a common cause of support tickets.
  </Step>

  <Step title="Fills in anything you require">
    Billing address, coupon code, terms agreement, custom product fields.
  </Step>

  <Step title="Picks a payment method">
    Methods whose minimum or maximum amount does not fit the order total are shown but cannot be selected, with the reason on hover.
  </Step>

  <Step title="Pays">
    Card processors open their own payment form or redirect the buyer. Crypto shows an address and an amount to send. Wallets and custom methods show instructions instead, and the buyer sends the money themselves.
  </Step>

  <Step title="Gets the goods">
    Once the payment is confirmed, serials, files and dynamic products are delivered automatically and the invoice completes. Service and physical products wait for you to fulfill them.
  </Step>
</Steps>

## Configuring the page

All of these live in your shop settings, linked per section below.

### [Checkout](https://dash.sellauth.com/shop#checkout)

| Setting | What it does |
| - | - |
| Checkout Color Scheme | System, light or dark |
| Allow Customer to Change Color Scheme | Adds a toggle for the buyer |
| Collect Billing Address | Asks for a billing address. Always collected for physical products regardless of this setting |
| Show Coupon Code Textbox | Adds a coupon field. Turn it off if you only use links that apply coupons automatically |
| Show Terms Checkbox | Requires the buyer to agree to your Terms of Service |
| Pre-check Terms Checkbox | Ticks that box by default |
| Show Newsletter Checkbox | Offers buyers a marketing opt in |
| Show Immediate Delivery Checkbox | Required checkbox where the buyer explicitly asks for immediate delivery |
| Show Withdrawal Form | Adds an online withdrawal request form to the confirmation and invoice pages |

<Note>
  The last two settings add the consent step some distance-selling rules describe for digital content: the buyer asks for immediate delivery and acknowledges what that means for a right of withdrawal. Whether your shop needs them is for you and your advisor to decide. The consent text links to your [Right of Withdrawal page](https://dash.sellauth.com/shop/legal) once it is live.
</Note>

### Completed page

Once an order is paid, each delivered item expands to show up to four blocks: **Instructions**, **Downloadable Files**, **Deliverables** and the **Thank You Message**. A block with nothing in it is skipped, so a product that only has instructions still shows a single clean block.

Under **Block Order** in [checkout settings](https://dash.sellauth.com/shop#checkout), drag the four into the order you want. It applies to every product in the shop. The usual reason to change it is putting the keys or serials first, so a returning buyer who already knows how to redeem them does not have to scroll past your instructions every time.

### [Invoices and tax](https://dash.sellauth.com/shop#invoice)

| Setting | What it does |
| - | - |
| Enable Tax Calculation | Calculates and shows tax on invoices |
| Tax Rate | A single flat rate applied to the invoice total |
| Tax Rates by Country | Uses the buyer's country, determined from their IP, instead of one flat rate |
| Send Invoice PDFs to Customers | Attaches the PDF to the order completed email |
| Show Invoice PDF Link on Checkout Page | Adds a download link after a successful payment |
| Invoice PDF Header, Notes, Footer | Your company details, terms line and closing text on the PDF |

<Warning>
  Enabling both Stripe's automatic tax collection and SellAuth tax calculation charges buyers tax twice. Use one or the other.
</Warning>

### [Legal pages](https://dash.sellauth.com/shop/legal)

Terms of Service, Privacy Policy, Refund Policy and the other legal page types are edited under Legal Pages, and every published page is linked from the checkout footer. See [Legal Pages](/guides/legal-pages).

## Fees, discounts and totals

Each payment method can add a percentage fee, a fixed fee, or a discount on either. The adjustment applies to the order total and is shown to the buyer before they pay, which makes it a practical way to steer buyers toward the methods that cost you least. See [shared method settings](/guides/payment-methods#settings-shared-by-every-method).

## Invoice statuses

Every checkout produces an invoice, and its status shows where both the payment and the delivery stand.

The dashboard, the invoice PDF and the API all call this record an invoice. You will also see it called an order in places, including the emails buyers receive. They are the same thing.

| Status | Meaning | What to do |
| - | - | - |
| **Pending** | Invoice created, no payment confirmed yet | Nothing. Most pending invoices are abandoned carts |
| **Confirming** | Either a crypto payment waiting on network confirmations, or a buyer on a custom method saying they have paid | Wait for crypto. For custom methods, verify the money arrived before processing |
| **Completed** | Paid and delivered | Nothing |
| **Partially Completed** | Paid, but only some items were delivered | Check which line item failed and retry the delivery |
| **Out of Stock** | Paid, but stock ran out before delivery | Restock the variant, then process the invoice |
| **Refunded** | Marked as refunded in SellAuth | See [Refunds](/guides/refunds) |
| **Expired** | Payment window closed without payment | Nothing, unless the buyer paid late |
| **Cancelled** | The buyer reached the payment page and backed out, by closing it or pressing back | Nothing. They can reopen the checkout link and pay |
| **Failed** | The processor rejected the payment | Ask the buyer to retry, ideally with another method |

Invoices you complete by hand are labelled **Manually Completed** or **Manually Partially Completed**, which keeps them distinguishable from payments confirmed by a processor.

Within an invoice, each payment attempt has its own status of Pending, Completed or Failed. A buyer who fails twice before succeeding leaves three attempts against one completed invoice.

## Next steps

<CardGroup cols={2}>
  <Card title="Supported payment methods" icon="credit-card" href="/guides/payment-methods">
    Everything you can put on the checkout page.
  </Card>

  <Card title="Refunds" icon="rotate-left" href="/guides/refunds">
    Reversing an invoice and handling chargebacks.
  </Card>
</CardGroup>


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