Integration Guides

Introduction

Enable clients to add money to their accounts by choosing their local currency and payment method, such as bank transfer or mobile money. The funds will automatically transfer to your appropriate settlement wallet.

Flow

1) Subscribe to FCAT (Fiat, Collection, and Disbursement) service

The integrator has to subscribe to the FCAT service here and have enough balance on the USD operational ledger.

2) Get the supported banks

You have to request the actively supported banks by calling the Get Collection Banks endpoint with the appropriate request payload.

curl --request GET \
     --url https://sandbox-api.oneliquidity.technology/fcat/v1/NG/collection-banks/STATIC \
     --header 'accept: application/json' \
     --header 'authorization: Bearer REDACTED'
{
  "message": "Ok",
  "data": [
    {
      "code": "0428",
      "name": "Wema bank"
    }
  ]
}

3) Create A Virtual Account

You can create a dynamic (client) or static (treasury) virtual account by calling the Create Virtual Account endpoint with the appropriate request payload specified here.

{
  "bankCode": "1084",
  "currency": "NGN",
  "accountType": "DYNAMIC",
  "bvn": "12345678901",
  "uid": "merchant-tx-identifier"
}
{
  "bankCode": "1084",
  "currency": "NGN",
  "accountType": "STATIC",
  "uid": "merchant-unique-tx-identifier"
}
{
  "message": "Ok",
  "data": {
    "accountId": "217ad0c0-a988-41a2-a34e-0cefa6731aa6"
  }
}

📘

BVN required for Dynamic(Client) Virtual Account

When creating a dynamic virtual account, you'll need to provide a BVN (Bank Verification Number) directly. For static (Treasury) virtual account, the BVN attached to the account is used during creation.

4) Verify OTP sent to the phone number attached to the BVN

An OTP is sent to the phone number attached to the BVN after verification. The OTP is then used to call the Verify OTP Endpoint. The virtualAccountId is the one returned as response in step 2. You can resend the OTP if it fails to come in using the Resend OTP endpoint.

{
  "token": "123456",
  "virtualAccountId": "217ad0c0-a988-41a2-a34e-0cefa6731aa6"
}
{
  "message": "Ok"
}

5) Receive the deposits

The deposit notifications into the virtual account are sent to the registered webhook url.