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).
object
required
Wrapper object for all checkout fields.
integer
required
Total payable amount in cents. Must fall inside a band in your merchant config rules, otherwise 422.
string
required
ISO 4217 code. Must match your merchant territory currency: ZAR.
string
required
Your identifier for this order or cart session. Echoed verbatim in the callback β€” use it to reconcile.
string (url)
required
Public HTTPS endpoint that receives the signed payment-result callback.
string (url)
required
Where the shopper’s browser is sent after successful payment (unless your callback response supplies a dynamic redirect_url).
string (url)
required
Where the shopper’s browser is sent if they cancel.
object
required
The shopper. Pre-fill as much as you have β€” it reduces friction on the payment page.
array
Cart contents, shown on the shopper’s payment summary.

Example

Response

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

Errors