Skip to main content
POST
Create a new collection (initiate inbound payment)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string
required

Required; prevents duplicate charges on retry

Path Parameters

market
string
required
Example:

"MW"

rail
string
required
Example:

"mobile_money"

Body

application/json
amount
number
required

Amount in minor currency units (e.g. MWK tambala)

Example:

5000

currency
string
required
Example:

"MWK"

reference
string
required

Integrator reconciliation reference

Example:

"INV-2026-001"

customer
object
required

Rail-required customer fields

Example:
metadata
object

Arbitrary integrator metadata preserved in all webhook payloads

Example:

Response

collection_id
string
required
Example:

"e3d4b5c6-..."

integrator_id
string
required
Example:

"f1a2b3c4-..."

market
string
required
Example:

"MW"

rail
string
required
Example:

"mobile_money"

amount
number
required
Example:

5000

currency
string
required
Example:

"MWK"

reference
string
required
Example:

"INV-2026-001"

status
string
required

Canonical status: created | pending | processing | successful | failed | expired | refunded | reversed

Example:

"pending"

customer
object
required
Example:
created_at
string<date-time>
required
updated_at
string<date-time>
required
expires_at
string<date-time>
required
metadata
object
Example:
payment_instruction
object

Provider payment instruction (e.g. USSD string, STK reference); null when provider is purely async

Example:

null