Creating a checkout
POST /checkouts takes one or more line items, each pointing at a price variant by id:
"object": "checkout", id like co_...) with a URL the buyer visits to pay. When they complete it, an order is created.
Checkout fields
Multiple line items
Paying an invoice
Instead of line items, pass aninvoice id to create a checkout that settles that invoice:
Worked example: sell to a customer end-to-end
order.paid webhook event to fulfill the purchase.
Reusable checkout links
When you want one durable URL to share — in a bio link, an email, a “buy now” button — create a checkout link withPOST /checkout_links:
Checkout link fields
The response includes an id (
cl_...) and the shareable URL. Checkout links support full CRUD — update, list, retrieve, and delete them like any other resource.
Account-wide checkout settings
The defaults every checkout inherits — tax, address collection, which inputs the buyer sees — live on a single account-wide resource at/v1/checkout_configuration. It is a singleton: no id, GET to read and PATCH to change.
Next steps
Discounts
Build the promo codes you apply via
discount_code and discount.Subscriptions & billing
Orders, invoices, refunds, and managing recurring revenue after checkout.
Products & pricing
Create the price variants your checkouts and links reference.
Webhooks
React to
checkout.created, order.paid, and other events in real time.
