API Reference · Money out
Transfers & Batches
Single and batch bank payouts, made by signed-in team members, with a second approver for large amounts. API keys cannot pay out.
The transfer object
Represents a transfer entity in the rafiqPay system.
| Field | Type & Flags | Description |
|---|---|---|
| id | string | Transfer ID (trf_...). |
| amount | string | Payout amount in Naira. |
| bankName | string | The receiving bank. |
| status | enum | awaiting_approval | queued | sending | processing | success | failed | cancelled. |
Example transfer JSON
transfer example payload
{
"id": "trf_01J9KANZU",
"amount": "250000.00",
"bankName": "GTBank",
"accountNumber": "0123456789",
"status": "success"
}Endpoints & Operations
GET/v1/transfers/banksProposed
List banks
Lists the banks a payout can be sent to.
Request Example
GET /v1/transfers/banks
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers/banks" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"object": "list",
"data": [
{
"bankId": "bank_gtb",
"name": "Guaranty Trust Bank"
}
],
"hasMore": false,
"nextCursor": null
}GET/v1/transfers/resolve-accountProposed
Resolve an account name
Asks the bank for the name on a 10-digit account number.
Request Example
GET /v1/transfers/resolve-account
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers/resolve-account" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"bankId": "bank_gtb",
"accountNumber": "0123456789",
"accountName": "KANZU LEARNING LTD"
}POST/v1/transfersProposed
Create a transfer
Proposed for API keys. Today a single payout is made by a signed-in team member in the dashboard; a platform with service access uses POST /v1/service/payouts.
Request Example
POST /v1/transfers
cURL · v1
curl -X POST "https://api.rafiqpay.net/v1/transfers" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a" \
-H "Idempotency-Key: idem_create-transfer_01" \
-H "Content-Type: application/json" \
-d '{
"amount": "250000.00",
"bankId": "bank_gtb",
"accountNumber": "0123456789",
"narration": "Tutor stipend Oct"
}'Response (200 OK)
Response payload
{
"id": "trf_01J9KANZU",
"status": "pending_confirmation"
}GET/v1/transfers/:idProposed
Retrieve a transfer
Retrieves a transfer.
Request Example
GET /v1/transfers/:id
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers/:id" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"id": "trf_01J9KANZU",
"status": "succeeded"
}GET/v1/transfersProposed
List transfers
Lists transfers.
Request Example
GET /v1/transfers
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"object": "list",
"data": [],
"hasMore": false,
"nextCursor": null
}POST/v1/transfers/batchProposed
Create a transfer batch
Proposed for API keys. Today a batch is made by a signed-in team member in the dashboard, and always waits for a second approver.
Request Example
POST /v1/transfers/batch
cURL · v1
curl -X POST "https://api.rafiqpay.net/v1/transfers/batch" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a" \
-H "Idempotency-Key: idem_create-batch_01" \
-H "Content-Type: application/json" \
-d '{
"name": "October Payroll",
"transfers": [
{
"amount": "150000.00",
"bankId": "bank_gtb",
"accountNumber": "0123456789"
}
]
}'Response (200 OK)
Response payload
{
"id": "tba_01",
"status": "awaiting_approval"
}GET/v1/transfers/batches/:idProposed
Retrieve a transfer batch
Retrieves a batch.
Request Example
GET /v1/transfers/batches/:id
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers/batches/:id" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"id": "tba_01",
"status": "approved"
}GET/v1/transfers/batchesProposed
List transfer batches
Lists transfer batches.
Request Example
GET /v1/transfers/batches
cURL · v1
curl -X GET "https://api.rafiqpay.net/v1/transfers/batches" \
-H "Authorization: Bearer rp_test_sk_kanzu_9f8a7b6c5d4e3f2a"Response (200 OK)
Response payload
{
"object": "list",
"data": [],
"hasMore": false,
"nextCursor": null
}Related Webhook Events
These events are dispatched to your webhook endpoints when actions occur on this resource: