multipart/form-data
with the transaction payload provided as a stringified JSON object under a transaction
field.
POST
{{baseURL}}/v1/payout
Header | Value | Required |
---|---|---|
x-api-key | YOUR_API_KEY | ✅ Yes |
Field | Type | Description |
---|---|---|
message | String | Transaction status message |
status | String | Overall operation status (success /error ) |
Field | Type | Description |
---|---|---|
id | String | Unique transaction identifier |
remark | String | Optional remarks/notes |
reason | String | Transaction purpose (e.g., "Bills" ) |
referenceNumber | String | Unique reference for tracking |
type | String | Transaction type (SEND ) |
state | String | Current status (PENDING ) |
created | String | ISO 8601 creation timestamp |
processed | String | ISO 8601 processing timestamp |
Field | Type | Description |
---|---|---|
quote.id | String | Unique quote identifier |
quote.rate | Number | FX rate used (e.g., 232.00000000 ) |
quote.expiresInSeconds | Number | Quote validity period (0 = expired/immediate) |
Field | Type | Description |
---|---|---|
quote.source.currency | String | Source currency (NGN ) |
quote.source.country | String | Source country code (NG ) |
quote.source.amount | Number | Original amount sent |
Field | Type | Description |
---|---|---|
quote.target.currency | String | Destination currency (CNY ) |
quote.target.country | String | Destination country code (CN ) |
quote.target.amount | Number | Converted received amount |
Field | Type | Description |
---|---|---|
quote.fee.amount | Number | Transaction fee charged |
Field | Type | Description |
---|---|---|
quote.summary.total | Number | Total amount deducted (source + fees) |
Field | Type | Description |
---|---|---|
recipient.name | String | Full recipient name |
recipient.firstName | String | First name |
recipient.lastName | String | Last name |
recipient.relationship | String | Sender relationship (SELF ) |
recipient.type | String | Identifier type (MOBILE ) |
recipient.paymentChannel | String | Transfer method (ALI_PAY ) |
recipient.currency | String | Recipient currency (CNY ) |
recipient.country | String | Recipient country (CN ) |
Field | Type | Description |
---|---|---|
recipient.account.accountNumber | String | Mobile number/account ID |
Status Code | Meaning | Example Response | How to Handle |
---|---|---|---|
400 | Bad Request (No API Key) | “No API key found in request” | Ensure x-api-key header is sent with a valid key |
400 | Validation Error | ”Required field missing or invalid request” | Check API documentation for required fields and input formats |
400 | Expired Quote | ”Quote expired” | Generate a new quote using the Quote API and resubmit with fresh quoteId |
400 | Transaction Limit | ”Minimum Transaction Limit is: 10.00CNY” | Ensure transaction amount meets minimum requirements (10.00 CNY equivalent in source currency) |
401 | Unauthorized (Invalid API Key) | “Invalid authentication credentials” | Verify API key in the header is correct and active in dashboard settings |
403 | Forbidden (Non-whitelisted IP) | “Your IP address is not allowed to access this service” | Whitelist your IP address in the API Management settings on the dashboard |
422 | Unprocessable Entity (Semantic Error) | “Invalid value in request body” | Review request body for semantic errors (e.g., invalid values or logic errors) |
429 | Too Many Requests (Rate Limited) | “API rate limit exceed” | Implement retry with exponential backoff; respect rate limits (e.g., 50 requests/sec) |
500 | Internal Server Error | ”An unexpected error occurred on the server” | Retry after some time; if persistent, contact support |