Skip to content

Request a payment ​

POST /api/v1/payments

Permission: payments:create.

http
Authorization: Bearer YOUR_APPLICATION_TOKEN
Idempotency-Key: order-1042-collection
Content-Type: application/json
json
{
  "reference": "order-1042",
  "method": "ecocash",
  "amount_minor": 100,
  "currency": "USD",
  "customer": { "phone": "CUSTOMER_PHONE" },
  "description": "Order 1042"
}
FieldRequirement
referenceYour order reference, up to 100 letters, digits or ._:-
methodecocash
amount_minorPositive integer USD cents, within the application's configured limit
currencyUSD
customer.phoneEconet number starting with 077, 078 or its international equivalent
descriptionOptional, up to 140 characters
Idempotency-Key headerStable key between 8 and 150 characters

The response is HTTP 202 with a data object containing id, reference, status, amount_minor, currency, customer.phone, receipt, last_verified_at, created_at, next_action, refund and links.

Keep the reference and key with your order. The same request returns the original payment. A changed phone, amount or description with the same reference or key returns HTTP 409.

The customer enters their wallet PIN on their phone. The API rejects a pin field.

List payments ​

GET /api/v1/payments?status=pending&per_page=25

Permission: payments:read. The response includes data, pagination links and metadata. per_page can be 1 to 100.