Overview

Learn how to send money with Bank3D

HTML Cards

Generate Bank3D Client Credentials

In order to use the Bank 3D API to make transfer, merchants will need to contact Bank3D for a Client ID and a Secret key. you'll be given client credentials for both sandbox and production environments.

This document explains a few things you need to know about transfers in general. You should read this first, and then you can view examples for specific types of transfers on their guide pages.

How Transfers Work

You can make a transfer using our APIs. making a transfer via API looks like this:

  1. Send a POST request to our create transfer endpoint. The details will vary depending on the type of transfer, but you'll typically need to specify an amount, BankCode, BeneficiaryName, Narration

If you wish, you can also specify:

  1. a narration describing the transfer,
  2. a unique reference code to identify the transfer (if you don't supply one, we'll generate one for you).
curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Bulk/New' \
  --header 'Authorization: Bearer YOUR_AUTH_TOKEN' \
  --header 'Content-Type: application/json' \
--data '{ 
    "FromAccountNumber":"0023348336",
    "FromBankCode": "058",
    "Narration": "test payment",
    "Reference": "5233454323E3",
    "PaymentType": "SALARY",
    "DebitMode": "BATCH"
}'

Handling the response

After creating the transfer, you'll get a response like this:

{
  "Reference": "5233454323E3",
  "BatchID": 220536,
  "Status": "OK",
  "Message": "Batch Created Successfully"
}



There are some important details here:

  • BatchID is the ID of the transfer. You can use this ID to fetch details about this transfer later.
  • Status is the status of the Message is a friendly explanation of the status.
  • A status of "WAITING" means that the transfer is being processed. The Message might be "Transaction is currently being processed".
  • When the transfer is completed, the status changes to "OK". The Message might be "Transaction was successful".
  • If the transfer fails, the status changes to "FAILED". The Message would contain the failure reason, such as "Account resolve failed".

Checking the status of a transfer

You can manually check the current status of the transfer by calling the get transfer endpoint with the transfer ID.

Here's how to check using the get transfer endpoint:

curl --location 'https://ibridge.uat.bank3d.ng/v1/rest/Payments/Batch/5233454323E5/Check' \
--header 'Authorization: Bearer YOUR_AUTH_TOKEN' \



Testing Transfer

When testing a transfer, you can use any of our provided test accounts. You can force transfers to behave differently by using a special kind of transaction reference when creating the transfer.

  • To mock a successful transfer:
  • To mock a failed transfer: