Skip to main content
Use this endpoint to send a bank transfer (disbursement) from your Paylink merchant balance to any supported bank account. Each transfer is identified by a unique reference you supply. The transfer is processed asynchronously — use GET /disbursements/verify/{reference} or your configured webhook to track the final outcome.
Before submitting a transfer, use POST /banks/resolve to confirm the destination account name matches your intended recipient. See Resolve Account.
Headers

Request body

string
required
Full name of the transfer recipient.
string
required
Email address of the transfer recipient. Used for notifications and record-keeping.
string
required
A unique reference you assign to this transfer. Used to verify status and to identify the transfer in webhook payloads. Must be unique across all your transfer requests.
number
required
Amount to transfer in the specified currency.
string
required
ISO 4217 currency code (e.g. NGN). Must be a currency supported by your merchant account.
string
required
Bank code of the recipient’s bank. Use GET /banks to retrieve a list of valid codes. See List Banks.
string
required
Recipient’s bank account number.
string
required
Human-readable name of the recipient’s bank (e.g. "Example Bank").
string
A short description of the transfer that may appear on the recipient’s bank statement.
object
An arbitrary key-value object for storing additional information alongside the transfer record (e.g. internal IDs, order references). Not sent to the bank.
string
A URL on your server to which Paylink will POST the transfer result when it reaches a terminal state. Overrides the default webhook URL configured in your merchant dashboard for this transfer only.

Example request

Example response

Error reference