Single Transfers

How to execute a single transfer with Bank3D

👍

info

With the Bank3D Transfer API, you can send money to bank accounts and mobile money wallet

You can transfer money in four easy steps:

  1. Call the get token endpoint to generate a auth token
  2. Initiate a transfer
  3. Listen for transfer status

How To Generate An Auth Token

  • Generate an auth token by sending a POST request using your client ID and the secret key as the request body to generate an AUTH_TOKEN.
  • use the generated token obtained for subsequent API calls.

Request Example

curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Auth/Token' \
--data '{   
    "ClientID":"224562", 
    "ClientSecret": "Z01TUVpWM0lzdfgDSFGHgfghhDFGHertycvbnmcvbRT=", 
    "Expiry": 1000000
}'
-X POST

Handling Response

After requesting for for a token, if it is successful, you'll get a response like this:

{
  "Token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9zaWQiOiJGNEVEMjg5ODBCMUE2QjQzREMwN0FEQjc0MzI0MjhEODNDMUJERDZBQTg3MDc4NjA1OTgxQ0M3MDE4MUJCNDEyOTg2OUJGNzcyRjg0QjQyMUE3QUFCNUM3OTA0OEQxNkJFQjg5OTU2QzBBN0REQUI4RUNEREZBMTc2RUJBNEM5MDc4RUNFQTQyNEMzQkMwMTc1ODUyRDdCMTNFNjAxNjQ3NDgzMTc0QUFBMkUwMjFERUExRkU3NzI0OTY2N0YwNTdDQkZBMTAwMDQxODE5RkQ4N0M3NzgwQ0E5MTY0OEY5MkYzQTVEQjc3RkE4NUNFQUUwMDk2N0I0QUY5MUVCNDRDOEZCQkI5Qzk0NTc1MTkxNzkzMzcxODE4MjQ1MjdBNzJCQzg4MzNBRTQwRTY3Q0VBQzNDMUFFQTM4OEI4QTMzM0E4MzExRDVBODBDMkRCMkJEMzcwOUI5OEEwN0QzOTNEMEYwQ0RFM0Y0MDExMkU3Nzk0QzVBNTA2Q0ZGREIwNEU1QjVFMjc4RTRGRjgxMUE2M0RDNzc0QjFBODI2M0FCRjdDNjcxQUY3RUQxQTQ0RjIzQUFFM0IwMDg2MERGNTcwRTBDMUJGNTJENTE0NkI5QyIsIm5iZiI6MTY1ODQzNTgxNSwiZXhwIjoxNjU5NDM1ODE1LCJpYXQiOjE2NTg0MzU4MTV9.cKY5C1VYNz48YYyHM2j5BPiAgZKpKSk2ftKJTk-dNCs",
  "Expiry": 1000000
}


for invalid Bear token, you'll get the below response:

{
    "Message": "Authorization has been denied for this request."
}

📘

Remember

To send money on Bank3D, you need a Client ID and secret key to authenticate your transfers. contact Bank3D to obtain your authentication credentials.

Initiate a Transfer

To initiate a transfer, make a POST request to the single payment end point with the generated AUTH_TOKEN.

Request Example

curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/single' \ 
--header 'Authorization: Bearer YOUR_AUTH_TOKEN' \ 
--header 'Content-Type: application/json' \

-- data '{
  "FromAccountNumber": "sample string 1",
  "FromBankCode": "sample string 2",
  "PaymentType": "sample string 3",
  "CorporateID": 4,
  "ProcessDate": "sample string 5",
  "BeneficiaryName": "sample string 6",
  "BeneficiaryRef": "sample string 7",
  "ItemRef": "sample string 8",
  "Amount": 9.0,
  "Narration": "sample string 10",
  "PaymentProfile": "sample string 11",
  "AccountNumber": "sample string 12",
  "BankCode": "sample string 13"
}'
-X POST 

Handling Response


{
  "ItemRef": "sample string 1",
  "Status": {
    "Code": "sample string 1",
    "Description": "sample string 2"
  },
  "Id": 2
}

{
    "Reference": "sample-string-5545867",
    "BatchID": 0,
    "Status": "ERROR",
    "Message": "Invalid From Account"
}

Generate an item reference

An item reference is a unique identifier that lets you track, manage and reconcile each transfer request made on your integration.

🚧

Retrying a transfer

If there is an error with the transfer request, kindly retry the transaction with the same itemRef in order to avoid double crediting. if a new itemRef is used, the transfer would be treated as a new request.

Verify a transfer

The response for a transfer contains a unique transfer code to identify this transfer. You can use this code to call the Check Status API endpoint to fetch status and details of the transfer anytime you want.

Example Request

curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Single/1100008944/Check'
--header 'Authorization: Bearer YOUR_AUTH_TOKEN'

Example Response

{
  "Id": 310159,
  "ItemRef": "1100008944",
  "Status": {
    "Code": "WAITING",
    "Description": "In Progress"
  },
  "Amount": 100,
  "Narration": "sample",
  "PaymentProfile": null,
  "AccountNumber": "3078502902",
  "BankCode": "011"
}