Skip to main content
POST
Transfer to a PrimePay wallet

Authorizations

Authorization
string
header
required

Your API key: sk_live_… / sk_test_… (secret), pk_live_… / pk_test_… (publishable, read-only reference data) or rk_live_… / rk_test_… (payments only).

Headers

Idempotency-Key
string
required

A new value for every new request (a UUID is ideal), up to 64 characters. If your request times out, send it again with the same key. The same key for a different request returns 422 idempotency_key_reused.

Maximum string length: 64
Example:

"3c9a7e1f2b6d4a8e9f0c1b2a3d4e5f60"

Body

application/json
amount
number
required

More than zero, at most 2 decimal places, within the limit.

Example:

20000

currency
enum<string>
required
Available options:
MWK
phone
string
required

The wallet's Malawi number, in any common format (+265…, 265…, 0…).

Example:

"+265991234567"

description
string
Maximum string length: 140
Example:

"Winnings, ticket 88213"

Response

A repeat of the same transfer. The header Idempotent-Replayed is true.

reference
string
type
enum<string>
Available options:
merchant_account,
wallet
status
string
Example:

"success"

amount
number
fee
number
currency
string
Example:

"MWK"

description
string
recipient
object

{ accountCode, accountName } for a merchant account, { phone, name } for a wallet.

createdAt
string<date-time>