CSL Pay Developers

Getting started

What you need before the first call.

Environments

Base URLEnvironment
https://api.dev.cslpay.io Sandbox Base Url
https://api.cslpay.io Production Base Url

Your first request

curl "https://api.dev.cslpay.io/auth/login" \
  -H "Authorization: Bearer <access-token>"

Every endpoint page carries the same request in cURL, Java, JavaScript and Python.

Reference

Authentication

Bearer tokens (JWT) on every request.

Credentials are issued per partner and per environment. A sandbox credential will not work against production.

SchemeHow it is sent
bearerAuth Authorization: Bearer <token>

Request and response format

Bodies are JSON. Send Content-Type: application/json on any request that carries one.

Timestamps are ISO 8601 in UTC. Monetary amounts carry an explicit ISO 4217 currency — never assume a default.

Errors

Failures use standard HTTP status codes. Each endpoint page lists the codes it returns and the schema of the error body.

Treat 5xx and network timeouts as unknown, not failed: retry with the same idempotency key rather than creating a second transaction.

Idempotency

Retry-safe endpoints accept a client-generated key so a repeated call returns the original result instead of creating a duplicate. The endpoint page states where the key belongs.

Generate one key per business operation and reuse it for every retry of that operation.

Machine-readable definition

Payout API — Postman Collection v2.1
Generate a client, or load it into your API tool.