Payouts
Payouts and NeroDisburse
Send payouts, manage payout destinations and keep reconciliation simple.
Bank accountsPayoutsNeroDisburse
Payout API map
| Method | Endpoint | Purpose |
|---|---|---|
| GET | /bank-accounts | List saved payout destinations. |
| POST | /bank-accounts | Add a payout destination. |
| POST | /nerodisburse/bank-accounts | Add a payout destination for NeroDisburse workflows. |
| GET | /payouts | List payout requests. |
| GET | /payouts/{id} | Retrieve one payout. |
| POST | /payouts | Create a payout. |
| GET | /nerodisburse/payouts | List NeroDisburse payouts. |
| POST | /nerodisburse/payouts | Create a NeroDisburse payout. |
| GET | /transfer-schedule | Read payout schedule. |
| PATCH | /transfer-schedule | Update payout schedule. |
Recommended payout flow
- Add or select a payout bank account.
- Retrieve balances to confirm available funds.
- Create a payout with an idempotency key.
- Store the returned payout id.
- Use webhooks or list/retrieve endpoints to track status.
Common payout statuses
| Status | Meaning |
|---|---|
pending | The payout request has been received. |
processing | The payout is being processed. |
paid | The payout was completed. |
cancelled | The payout was cancelled. |
failed | The payout could not be completed. |
Create payout quick example
'POST',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $secretKey,
'Accept: application/json',
'Content-Type: application/json',
'X-NeroPay-Timestamp: ' . $timestamp,
'X-NeroPay-Signature: ' . $signature,
'Idempotency-Key: ' . bin2hex(random_bytes(16)),
],
CURLOPT_POSTFIELDS => $rawBody,
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
echo $response;
{
"success": true,
"data": {
"id": 148468,
"status": "pending",
"amount": "25.00",
"currency": "GBP",
"reference": "SUPPLIER-1001",
"transfer_details": {
"recipient": "Jane Merchant",
"purpose": "supplier",
"bank": {
"name": "Demo Bank",
"last4": "2345"
}
}
}
}