Get a hosted checkout session
Requires collections:create. Use on your return page or after a webhook to confirm the order is paid: status PAID means a payment succeeded. Scoped to the API key merchant and environment.
Requires collections:create. Use on your return page or after a webhook to confirm the order is paid: status PAID means a payment succeeded. Scoped to the API key merchant and environment.
api-keyx-api-key<token>Your API key: ck_test_... for test mode, ck_live_... for live. Send it with x-api-secret (or Authorization: Bearer ).
session*stringThe session id returned at creation, or your own reference.
x-api-secret?stringRecommended: API secret sent over HTTPS. You may send it as Authorization: Bearer instead. If supplied, x-timestamp and x-signature are not required.
x-timestamp?stringLegacy signed mode: Unix time in milliseconds; maximum clock skew five minutes.
x-signature?stringLegacy signed mode: HMAC-SHA256(secret, timestamp.METHOD.url.idempotencyKey.bodyHash).
x-idempotency-key*string1–128 letters/digits or ._:-. Same key and payload replay for 24 hours; conflicting, in-flight, or expired keys return 409. Never change a key to retry an uncertain payment.
application/json- response
id*stringreference*stringamountMinor*stringcurrency*stringcheckoutUrl*stringuricheckoutPath*stringexpiresAt*stringdate-timestatus*stringOPEN: awaiting payment. PAID: a payment succeeded (the session is then closed to further payments). EXPIRED: past expiresAt without payment. CLOSED: disabled without payment.
"OPEN""PAID""EXPIRED""CLOSED"paidAt*|date-timepayment*|nullThe successful payment, otherwise the latest attempt.
attempts*numberPayment attempts on this session.
curl -X GET 'https://api.creddot.com/api/v1/checkout/sessions/string' \ -H 'x-idempotency-key: string'{ "id": "string", "reference": "string", "amountMinor": "string", "currency": "string", "checkoutUrl": "http://example.com", "checkoutPath": "string", "expiresAt": "2019-08-24T14:15:22Z", "status": "OPEN", "paidAt": "2019-08-24T14:15:22Z", "payment": { "id": "string", "reference": "string", "status": "PENDING", "channel": "string", "amountMinor": "string", "feeMinor": "string", "currency": "string", "createdAt": "2019-08-24T14:15:22Z" }, "attempts": 0}Create a hosted checkout session POST
Creates a single-use hosted checkout in the API key environment. Redirect the customer to checkoutUrl. Card details are collected only by Creddot checkout; they never pass through the merchant server.
Initialize a server-side collection POST
Requires collections:create. Supports bank transfer, USSD, and QR without accepting raw card data. Use POST /v1/checkout/sessions for card-capable hosted checkout. Atomically records a pending transaction before provider initialization. Retry with the same key and body to replay the initial response.