Skip to main content
POST
Create a checkout
Creates a checkout and returns the payment_url to redirect your shopper to. See the accepting payments guide for how this call fits into the full flow.
Rate limited to 1 request per second β€” comfortably above normal checkout traffic, but batch jobs should space their calls.

Request

Headers: Authorization: Bearer <client_secret>, Content-Type: application/json, and X-Signature (request signing).
checkout
object
required
Wrapper object for all checkout fields.
checkout.amount
integer
required
Total payable amount in pence. Must fall inside a band in your merchant config rules, otherwise 422.
checkout.currency
string
required
ISO 4217 code. Must match your merchant territory currency: GBP.
checkout.client_reference_id
string
required
Your identifier for this order or cart session. Echoed verbatim in the callback β€” use it to reconcile.
checkout.notify_url
string (url)
required
Public HTTPS endpoint that receives the signed payment-result callback.
checkout.success_url
string (url)
required
Where the shopper’s browser is sent after successful payment (unless your callback response supplies a dynamic redirect_url).
checkout.cancel_url
string (url)
required
Where the shopper’s browser is sent if they cancel.
checkout.customer
object
required
The shopper. Pre-fill as much as you have β€” it reduces friction on the payment page.
checkout.line_items
array
Cart contents, shown on the shopper’s payment summary.

Example

Response

200
data.id
string (uuid)
The checkout ID. Persist it β€” it’s required for status lookups and refunds.
data.payment_url
string (url)
The hosted payment page. Redirect the shopper here. The session is valid for roughly 30 minutes.

Errors