bolt.com is getting a new home → boltapp.com. Click here to transition smoothly to boltapp.com.

Skip to content

Custom cart overview

Use Bolt-hosted checkout for a cart your application controls, with the same backend integration across web, iOS, and Android.

View As MarkdownMCP

How checkout works

At runtime, your client, backend, and Bolt exchange the cart and checkout updates in this order:

Start checkout Request an order token Create order (API key) Return order token Return order token Open checkout (publishable key + token) Request shipping, tax, discounts, or order creation Return callback response Show checkout result Send transaction webhook (asynchronous) Shopper Web or mobile client Your backend Bolt APIs and Checkout

1. Requirements

Before you build, confirm your merchant account, Custom Cart division, payment processor, sandbox credentials, and Trusted Domains.

2. Orders API

Your backend sends the current cart to Bolt and receives an order token. The client uses that token to open the corresponding cart in Bolt Checkout. Keep the API key on your backend.

Create an order token to start the server integration.

3. Merchant Callbacks

During checkout, Bolt sends synchronous requests to your backend for information such as shipping options, tax, discounts, and final order creation. Checkout waits for these responses.

Choose and build the callbacks your checkout needs.

4. Register callback URLs

Register each callback URL for the same division as your publishable key. Registration options depend on the callback type.

Register your callback URLs and confirm that Bolt can reach them.

5. Transaction webhooks

Bolt sends asynchronous webhooks when a transaction changes state. Webhooks use a separate endpoint from Merchant Callbacks and do not block checkout.

Configure transaction webhooks for the events your backend processes.

6. Checkout client

Bolt Checkout is the shopper-facing interface. Your web or mobile client receives an order token from your backend and uses it to open checkout.

Install the web client, iOS checkout SDK, or Android checkout SDK.

Use Custom Cart troubleshooting when a step does not produce its expected result.

On this page