Bulk Transfers
Pay multiple recipients at once with the Bank3D bulk transfer feature
You can send money to multiple recipients in one go using the bulk transfer endpoint.
Making a bulk transfer
The bulk transfer endpoint takes an array of objects containing transferrecipients
and amount
and queues them for processing.
curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Bulk/New' \
--header 'Authorization: Beaer YOUR_AUTH_TOKEN'
--header 'Content-Type: application/json' \
--data '{
"FromAccountNumber":"0023348336",
"FromBankCode": "058",
"Narration": "test payment",
"Reference": "5233454323E3",
"PaymentType": "SALARY",
"DebitMode": "BATCH"
}'
-X POST
provide an array of objects called items
with each item in this array contains details for one transfer—the same details you specify when making a single transfer.
You can also specify a BatchID
for the transfer. This is helpful so you can easily make subsequent update to the batch payment.
Request Example
curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Bulk/New' \
--header 'Authorization: Beaer YOUR_AUTH_TOKEN'
--header 'Content-Type: application/json' \
--data '{
"FromAccountNumber":"0023348336",
"FromBankCode": "058",
"Narration": "test payment",
"Reference": "5233454323E3",
"PaymentType": "SALARY",
"DebitMode": "BATCH"
}'
--X POST
you'll get a response like this:
{
"Reference": "5233454323E3",
"BatchID": 220536,
"Status": "OK",
"Message": "1 Payment Items added to Batch"
}
{
"Reference": "sample-string-5545867",
"BatchID": 0,
"Status": "ERROR",
"Message": "Invalid From Account"
}
The transfers will be queued for processing, which usually take between a few seconds and a few minutes.
Updating a bulk transfer
to update a bulk payment, you use the BatchID
from the initiate bulk payment response with the Items
array containing the items you want to send money.
Request Examples
curl --location 'https://ibridge.uat.bank3d.ng/v1/REST/Payments/Bulk/Update' \
--data '{
"BatchID": 220536,
"Items": [
{
"AccountNumber": "3078555402",
"BankCode": "011",
"BeneficiaryName": "Test Test",
"Narration": "sample",
"Reference": "1100008944",
"Amount":100.0
},
{
"AccountNumber": "0080345436",
"BankCode": "232",
"BeneficiaryName": "Test Test",
"Narration": "sample",
"Reference": "1100008943",
"Amount":100.0
}
]
}'
Sample Response
if the process is successful, you will get the following json response:
{
"Reference": "5233454323E3",
"BatchID": 220536,
"Status": "OK",
"Message": "2 Payment Items added to Batch"
}
Processing payments
Use the process payment end point to place the bulk transfers in in queue and start processing it one after the other.
Request Examples
curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Bulk/Process' \
--data '{
"BatchID": 220536,
"ProcessDate": "2022-07-21T21:43:00"
}'
Sample Response
{
"Reference": "5233454323E3",
"BatchID": 220536,
"Status": "OK",
"Message": "Batch Scheduled for processing successfully"
}
Checking the status
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 transfer always return success, because there is no processing involved. The live transfers processing usually takes between a few seconds and a few minutes When it's done processing, a response containing a BatchID
if the transfer is successful, you will get a Status
OK
in your JSON
response.
if the transfer failed, you will get a Status
--
in your JSON
response.
you can use Reference
code to call the Get Transfer( Batch) API endpoint to fetch status and details of the transfer anytime you want.
Request Example
curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Batch/5233454323E5/Check'
Sample Response
{
"Id": 220551,
"BatchRef": "5233454323E5",
"Items": [
{
"Id": 310160,
"ItemRef": "1100008943",
"Status": {
"Code": "WAITING",
"Description": "In Progress"
},
"Amount": 100,
"Narration": "sample",
"PaymentProfile": null,
"AccountNumber": "0080938636",
"BankCode": "232"
},
{
"Id": 310159,
"ItemRef": "1100008944",
"Status": {
"Code": "WAITING",
"Description": "In Progress"
},
"Amount": 100,
"Narration": "sample",
"PaymentProfile": null,
"AccountNumber": "3078502902",
"BankCode": "011"
},
{
"Id": 310158,
"ItemRef": "1100008942",
"Status": {
"Code": "WAITING",
"Description": "In Progress"
},
"Amount": 100,
"Narration": "sample",
"PaymentProfile": null,
"AccountNumber": "3078502902",
"BankCode": "011"
}
],
"FromAccountNumber": null,
"FromBankCode": null,
"Narration": null,
"CorporateID": 0
}
Updated over 1 year ago