Skip to main content
POST
/
api
/
v1
/
checkouts
Create a new checkout
curl --request POST \
  --url https://api.zenobank.io/api/v1/checkouts \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <x-api-key>' \
  --data '
{
  "orderId": "order-12345",
  "priceAmount": "0.1",
  "priceCurrency": "USD",
  "webhookUrl": "https://example.com/webhook",
  "verificationToken": "123e4567-e89b-12d3-a456-426614174000",
  "successRedirectUrl": "https://example.com/success"
}
'
{
  "id": "ckl1234567890",
  "orderId": "order-12345",
  "priceCurrency": "USD",
  "priceAmount": "100.00",
  "status": "OPEN",
  "expiresAt": "2025-10-05T12:00:00Z",
  "checkoutUrl": "https://pay.zenobank.io/ckl1234567890",
  "createdAt": "2025-10-04T10:00:00Z",
  "webhookUrl": "https://example.com/webhook",
  "successRedirectUrl": "https://example.com/success"
}

Headers

x-api-key
string
required

External API Key

Body

application/json
orderId
string
required

Unique order identifier

Maximum string length: 256
Example:

"order-12345"

priceAmount
string
required

Price amount in the specified currency

Example:

"0.1"

priceCurrency
string
required

ISO 4217 currency code

Example:

"USD"

webhookUrl
string<uri> | null
required

Webhook URL to notify checkout status changes. For example, when the checkout is paid

Maximum string length: 2048
Example:

"https://example.com/webhook"

verificationToken
string | null
required

Verification token signed with an secret key to ensure webhook integrity

Example:

"123e4567-e89b-12d3-a456-426614174000"

successRedirectUrl
string<uri> | null
required

URL to redirect the user after checkout is successful

Maximum string length: 2048
Example:

"https://example.com/success"

Response

201 - application/json
id
string
required

Checkout ID

Example:

"ckl1234567890"

orderId
string
required

Unique order identifier

Example:

"order-12345"

priceCurrency
string
required

Currency code

Example:

"USD"

priceAmount
string
required

Price amount

Example:

"100.00"

status
enum<string>
required

Current status of the checkout

Available options:
OPEN,
COMPLETED,
EXPIRED,
CANCELLED
Example:

"OPEN"

expiresAt
string<date-time> | null
required

Expiration date

Example:

"2025-10-05T12:00:00Z"

checkoutUrl
string
required

URL to complete the checkout

Example:

"https://pay.zenobank.io/ckl1234567890"

createdAt
string<date-time>
required

Creation date

Example:

"2025-10-04T10:00:00Z"

webhookUrl
string | null
required

Webhook URL to notify checkout status changes. For example, when the checkout is paid

Example:

"https://example.com/webhook"

successRedirectUrl
string | null
required

URL to redirect the user after checkout is successful

Example:

"https://example.com/success"