Process Disbursement

View as Markdown
### Process Disbursement The **Process Disbursement** endpoint submits a new payout request to a recipient via the specified disbursement channel. This is the primary endpoint for initiating cash-out and withdrawal transactions. After submission, the transaction is created with a `pending` status. Monitor the final status via **Get Transactions** or listen for webhook callbacks on your `callback_webhook_url`. > Ensure the recipient details, channel, and amount are validated before calling this endpoint.

Authentication

AuthorizationBearer

Bearer token obtained from the Create Access Token endpoint. Tokens are valid for ~60 minutes — cache and reuse a token for its full lifetime instead of re-authenticating per request.

Request

This endpoint expects an object.
channelstringRequired
The disbursement channel to use. Values are available via the Get Channels endpoint.
amountdoubleRequired>=0.01

Amount to pay out. Minimum 0.01; the maximum depends on the channel.

reference_nostringRequired

Your unique reference for this payout. Each reference_no can be used only once, making it a natural idempotency key — reuse the same value when retrying the same intent. See the Idempotency & Safe Retries guide.

callback_webhook_urlstringRequiredformat: "uri"

URL that receives a server-side webhook once the final payout status is known. See the Webhooks & Redirects guide.

fieldsobjectRequired

Recipient/sender details. The required shape depends on the channel — e.g., an e-wallet channel like maya uses mobile_number, while a bank-transfer channel like PESONET uses bank_code plus sender/receiver details.

Response

OK
messagestring
dataobject

Errors

401
Unauthorized Error
422
Unprocessable Entity Error