Skip to content
Loading keys…
Authorization<token>

A public key (pk./pk_test.) is accepted on /payments, /customers, /links, /invoices and the catalogue reads (/channels, /providers, /countries, /currencies); anything that moves money out, reads the balance or manages the account answers 406 to it. It is an identifier, never an authorization. Use a secret key (sk./sk_test.) for sensitive operations (transfers, refunds, balance), or a restricted key (rk./rk_test.) scoped to specific permissions. The _test. variant of any key selects the sandbox environment, there is no separate sandbox URL. Never expose your secret key in client-side code.

In: header

Path Parameters

idstringrequired

The prepared payment `id`.

Header Parameters

Idempotency-Keystring

Your key for this request, 1 to 128 characters of letters, digits and `. _ : -`. The same request sent again with the same key returns the first answer instead of doing the work twice. See [Idempotency](/api/idempotency).

Request Body

application/json

channelstringrequired

A channel slug from `GET /channels`, or `mobile` to let Wajub find the operator from the phone number.

dataobject

The payer's details for this channel. A sandbox card charge also takes `card.number` (a test card), `card.holder`, `exp` (`MM/YY` or `MM/YYYY`) and `cvc` (3 or 4 digits), keys with a dot in their name; live refuses raw card data.

phonestring

Mobile Money number, in international format.

account_numberstring

Account or wallet number, for channels that use one.

ibanstring

For a bank channel.

wallet_addressstring

For a crypto channel.

save_payment_methodboolean

Save this payment method on the customer for a later payment. Defaults to `false`.

cvcstring

Sandbox only: three or four digits.

expstring

Sandbox only: the expiry, `MM/YY` or `MM/YYYY`, a year from this one to thirty years ahead.

cardobject

Sandbox only: the test card, `number` and `holder`.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.wajub.com/payments/trx_test_CSUGajfv9xh0XQ5wu2lx" \  -H "Idempotency-Key: charge-order-1042" \  -H "Content-Type: application/json" \  -d '{    "channel": "cm.mtn"  }'
POST
/payments/{id}
{  "code": 202,  "status": "Accepted",  "message": "Confirm the transaction on your phone.",  "transaction": {    "id": "trx_test_CSUGajfv9xh0XQ5wu2lx",    "status": "processing",    "amount": 5000,    "currency": "XAF"  }}

Accepted

What did you think of this content?