SANDBOX ENVIRONMENT — payments on this deployment are simulated. No real money is moved.
Developers

API Reference

Every v1 endpoint, generated from the same OpenAPI specification the server publishes.

GET/api/v1/payment-links

List payment links

Parameters: page (query), limit (query), status (query)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

POST/api/v1/payment-links

Create a payment link

Parameters: Idempotency-Key (header)

Body: title, description, amount, currency, methods, expires_at — required: title, amount, currency

Responses: 201 · 400 · 401 · 404 · 409 · 422 · 429

GET/api/v1/payment-links/{id}

Retrieve a payment link

Parameters: id (path, required)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

PATCH/api/v1/payment-links/{id}

Enable or disable a payment link

Parameters: id (path, required)

Body: status

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

Payments

POST/api/v1/payments

Create a payment

Creates a transaction and asks the provider to collect it. Mobile money methods require `customer.phone`. The response `next_action` tells you what the customer must do (approve on phone, redirect to a hosted card page, or follow bank instructions).

Parameters: Idempotency-Key (header)

Body: amount, currency, method, description, customer — required: amount, currency, method

Responses: 201 · 400 · 401 · 404 · 409 · 422 · 429

GET/api/v1/payments/{id}

Retrieve a payment (by id or reference)

Parameters: id (path, required)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

GET/api/v1/transactions

List transactions

Parameters: page (query), limit (query), status (query), method (query), from (query), to (query)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

Refunds

GET/api/v1/refunds

List refunds

Parameters: page (query), limit (query)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

POST/api/v1/refunds

Request a refund

Refund requests are reviewed before being sent to the provider.

Parameters: Idempotency-Key (header)

Body: transaction_id, amount, reason — required: transaction_id, amount, reason

Responses: 201 · 400 · 401 · 404 · 409 · 422 · 429

Payouts

GET/api/v1/balance

Retrieve derived balances

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

GET/api/v1/payouts

List payouts

Parameters: page (query), limit (query)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

POST/api/v1/payouts

Request a payout

Parameters: Idempotency-Key (header, required)

Body: destination_id, amount, currency — required: destination_id, amount, currency

Responses: 201 · 400 · 401 · 404 · 409 · 422 · 429

Webhooks

GET/api/v1/webhooks/endpoints

List webhook endpoints

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429

POST/api/v1/webhooks/endpoints

Create a webhook endpoint

Body: url, events, description — required: url, events

Responses: 201 · 400 · 401 · 404 · 409 · 422 · 429

GET/api/v1/webhooks/events

List events

Parameters: page (query), limit (query)

Responses: 200 · 400 · 401 · 404 · 409 · 422 · 429