Bulk Transfers
Pay multiple recipients at once with Paystack bulk transfer feature
The bulk transfers endpoint takes an array of objects containing transferrecipients
and amount
and queues them for processing.
Feature Availability
1curl https://api.paystack.co/transfer/bulk2-H "Authorization: Bearer YOUR_SECRET_KEY"3-H "Content-Type: application/json"4-d '{ "currency": "NGN",5 "source": "balance",6 "transfers": [{7 "amount": 20000,8 "reason": "Life go better for you",9 "recipient": "RCP_t0ya41mp35flk40"10 },11 {12 "amount": 20000,13 "reason": "Easy does it",14 "recipient": "RCP_z7e30qo1xxo98ub"15 }]16 }'17-X POST
1{2 "status": true,3 "message": "2 transfers queued.",4 "data": [5 {6 "recipient": "RCP_t0ya41mp35flk40",7 "amount": 20000,8 "transfer_code": "TRF_p2q7q9r2mmjawb3",9 "currency": "NGN"10 },11 {12 "recipient": "RCP_z7e30qo1xxo98ub",13 "amount": 20000,14 "transfer_code": "TRF_8khq7hdizqxw1zt",15 "currency": "NGN"16 }17 ]18}
Once these transfers have been queued, the same rules apply as single transfers, the transfer status would be pending
while the transfer is being processed. Test transfers always return success, because there is no processing involved. The live transfers processing usually take between a few seconds and a few minutes. When it's done processing, a notification is sent to your webhook URL.
If the transfer is successful, you will get a transfer.success
notification. If the transfer failed, you will get a transfer.failed
event. Learn more about Paystack events and webhook here.
The response for a transfer also contains a unique transfer code to identify this transfer. You can use this code to call the Fetch TransferAPI endpoint to fetch status and details of the transfer anytime you want.