Create a customer collection request.
transaction.reference to safely retry the same logical collection.
| Header | Required | Notes |
|---|---|---|
Authorization | Yes | Bearer <collection_token> |
Content-Type | Yes | application/json |
| Field | Type | Required | Notes |
|---|---|---|---|
transaction | object | Yes | Collection details and idempotency reference. |
originator | object | Yes | Customer details. |
recipient | object | Yes | Collection recipient details. |
callback_url | string | Yes | HTTPS URL for final status callbacks. |
meta | object | No | Arbitrary key/value metadata echoed in callbacks. |
| Field | Type | Required | Notes |
|---|---|---|---|
reference | string | Yes | Client-generated unique reference (idempotency key). |
amount | integer | Yes | Amount in major units (e.g., 1000 = 1000 KES). |
currency | string | Yes | ISO 4217 currency code (e.g., KES, USD). |
description | string | Yes | Short narrative for the collection. |
timestamp | string | Yes | ISO 8601 UTC timestamp (must end with Z). |
service_code | string | No | Collection service code if enabled on your account. |
| Field | Type | Required | Notes |
|---|---|---|---|
msisdn | string | Yes | MSISDN format (e.g., 2547XXXXXXXX). |
channel | string | Yes | Initiation channel (e.g., USSD, API). |
country | string | Yes | ISO 3166-1 country code (e.g., KE). |
name | string | Yes | Customer full name. |
purpose | string | Yes | Purpose of the collection. |
| Field | Type | Required | Notes |
|---|---|---|---|
invoice_number | string | No | Invoice number for reconciliation (if applicable). |
reference | string | Yes | Client-generated reference for recipient-side tracking. |
account | string | Yes | Recipient account identifier (phone, wallet, or bank account). |
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.