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
}