Skip to main content
Hosted checkout is EQX’s no-UI integration path. Instead of building a custom payment form, you create a checkout session on your server and redirect the payer to an EQX-hosted page. EQX handles payment rail selection, input validation, and confirmation.

Flow overview

1. POST /v1/checkout/sessions          → create session, receive session_url
2. Redirect payer to session_url
3. Payer completes payment on EQX page
4. EQX redirects payer to your redirect_url
5. GET  /v1/checkout/sessions/:id      → confirm final status (or use webhooks)

Session fields

FieldDescription
amountAmount to collect from the payer
currencyFiat currency of the collection (e.g. KES, NGN)
redirect_urlWhere to send the payer after payment completes or fails
referenceYour internal reference for the payment
expires_atWhen the session expires if unused

Session statuses

StatusMeaning
PENDINGCreated, awaiting payer action
SUBMITTEDPayer has submitted payment details
COMPLETEDPayment confirmed and funds credited
FAILEDPayment failed or was cancelled
EXPIREDSession expired before payer completed payment

Security

The by-token endpoints used by the hosted page are public and require no API key — they are scoped to the session token embedded in the session_url. Your API key is never exposed to the payer’s browser.

Webhooks

Subscribe to checkout.session.completed and checkout.session.failed to receive real-time status updates without polling.