Documentation Index
Fetch the complete documentation index at: https://docs.nexapay.ng/llms.txt
Use this file to discover all available pages before exploring further.
Withdrawals
Request Withdrawal (API Key)
POST /business/withdrawal/request
Withdrawal requests are processed by NexaPay, and the final outcome is also sent to your webhook URL as a signed event.
Response (Production)
{
"success": true,
"msg": "Withdrawal successful",
"withdrawal": {
"transactionId": "NEXA-...",
"amount": 10000,
"fee": 250,
"totalDebit": 10250,
"bankAccount": "0123456789",
"status": "COMPLETED"
}
}
Response (Test Key)
{
"success": true,
"msg": "Test withdrawal completed successfully",
"withdrawal": {
"transactionId": "NEXA-...",
"amount": 10000,
"fee": 250,
"totalDebit": 10250,
"bankAccount": "0123456789",
"status": "COMPLETED",
"environment": "test",
"simulated": true
}
}
Notes
- Production-key withdrawals validate the recipient and call the real transfer provider.
- Test-key withdrawals use sandbox balances only and do not trigger a real transfer.
- Successful withdrawals emit a
withdrawal.completed webhook.
- Failed withdrawals emit a
withdrawal.failed webhook.
Webhook Events
The webhook payload includes the merchant reference data stored with the transaction so your backend can reconcile the payout against the correct customer or order.
See Webhooks for the full payload shape and signature headers.
Invalid Example (Insufficient Balance)
{
"success": false,
"msg": "Insufficient balance. You need ₦10,250"
}
Withdrawal History
Withdrawal history is currently available in the merchant dashboard only and is not exposed for server-to-server integrations.