Documentation v1.0

Dedicated Virtual Accounts


The Dedicated Virtual Account API enables Nigerian merchants to manage unique payment accounts of their customers.

Feature Availability

This feature is only available to businesses in Nigeria.

Create Dedicated Virtual Account

Create a dedicated virtual account and assign to a customer

POST /dedicated_virtual_account

Bank Availability

We currently support Sparkle Bank only.

Headers

Param Required Description
authorization
string
Yes Set value to Bearer SECRET_KEY
content-type
string
Yes Set value to application/json

Body Param

Param Required Description
customer
string
Yes Customer code
first_name
string
(Optional) Customer's first name
last_name
string
(Optional) Customer's last name
phone
string
(Optional) Customer's phone number

Testing Dedicated Virtual Accounts

To create Dedicated Virtual Accounts for testing, simply use your test secret key to generate the dedicated account number.
You can also make a transfer to the test virtual accounts using our demo bank app
{
    "status": true,
    "message": "NUBAN successfully created",
    "data": {
        "bank": {
            "name": "Wema Bank",
            "id": 1,
            "bank_code": "000017",
            "prefix": "802"
        },
        "account_name": "Samji Ventures / Tolu Oye",
        "account_number": 72354838393,
        "currency": "NGN",
        "status": null,
        "reference": "xq3tvdirdamgorc",
        "assignment": "reserved",
        "id": 47,
        "created_at": "2022-03-12T05:03:18.000000Z",
        "updated_at": "2022-03-12T05:03:18.000000Z",
        "customer": {
            "id": 4,
            "first_name": "Tolu",
            "last_name": "Oye",
            "email": "toluxsys@yahoo.ca",
            "customer_code": "CUS_ctiv4kdyniqtjqe",
            "phone": "07036218209"
        }
    }
}
curl https://budpay.ng/api/v1/dedicated_virtual_account
-H "Authorization: Bearer YOUR_SECRET_KEY"
-H "Content-Type: application/json"
-d '{ "customer": "CUS_3hqlcizuoffygev"
    }'
-X POST

List Dedicated Accounts

List dedicated virtual accounts available on your integration.

GET /list_dedicated_accounts

Bank Availability

We currently support Wema Bank only.

Headers

Param Required Description
authorization
string
Yes Set value to Bearer SECRET_KEY

Query Param

Param Required Description
active
boolean
(Optional) Status of the dedicated virtual account
currency
string
(Optional) The currency of the dedicated virtual account. Only NGN is currently allowed
{
    "status": true,
    "message": "Managed accounts successfully retrieved",
    "data": [
        {
            "id": 47,
            "account_name": "Samji Ventures / Tolu Oye",
            "account_number": "7235483839",
            "currency": "NGN",
            "status": "active",
            "domain": "test",
            "reference": "xq3tvdirdamgorc",
            "created_at": "2022-03-12T16:36:11.000000Z",
            "updated_at": "2022-03-12T05:03:18.000000Z",
            "customer": {
                "id": 4,
                "first_name": "Tolu",
                "last_name": "Oye",
                "email": "toluxsys@yahoo.ca",
                "phone": "07036218209",
                "domain": "test",
                "customer_code": "CUS_ctiv4kdyniqtjqe",
                "metadata": "{}",
                "status": "active"
            }
        },
        {
            "id": 48,
            "account_name": "Samji Ventures / Tboy Oye",
            "account_number": "1090786130",
            "currency": "NGN",
            "status": "active",
            "domain": "test",
            "reference": "bwvrybpkekd48pm",
            "created_at": "2022-03-12T16:38:48.000000Z",
            "updated_at": "2022-03-12T15:37:13.000000Z",
            "customer": {
                "id": 3,
                "first_name": "Tboy",
                "last_name": "Oye",
                "email": "customer@email.com",
                "phone": null,
                "domain": "test",
                "customer_code": "CUS_3hqlcizuoffygev",
                "metadata": "{}",
                "status": "active"
            }
        },
        {
            "id": 49,
            "account_name": "Samji Ventures / Budcoder Oyeniyi",
            "account_number": "1761992762",
            "currency": "NGN",
            "status": "active",
            "domain": "test",
            "reference": "7kvzjucuyfz0a6h",
            "created_at": "2022-03-12T15:48:15.000000Z",
            "updated_at": "2022-03-12T15:48:15.000000Z",
            "customer": {
                "id": 5,
                "first_name": "Budcoder",
                "last_name": "Oyeniyi",
                "email": "customer1@budpay.com",
                "phone": null,
                "domain": "test",
                "customer_code": "CUS_ashqpindldkvi8k",
                "metadata": "{}",
                "status": "active"
            }
        },
        {
            "id": 50,
            "account_name": "Samji Ventures / Pay Bud",
            "account_number": "1671149520",
            "currency": "NGN",
            "status": "active",
            "domain": "test",
            "reference": "3hudaydhtffumpp",
            "created_at": "2022-03-12T15:50:20.000000Z",
            "updated_at": "2022-03-12T15:50:20.000000Z",
            "customer": {
                "id": 6,
                "first_name": "Pay",
                "last_name": "Bud",
                "email": "customer3@budpay.com",
                "phone": null,
                "domain": "test",
                "customer_code": "CUS_sb7na27qeas7htr",
                "metadata": "{}",
                "status": "active"
            }
        }
    ],
    "meta": {
        "total": 4
    }
}
curl https://budpay.ng/api/v1/list_dedicated_accounts
-H "Authorization: Bearer YOUR_SECRET_KEY"
-X GET

Fetch Dedicated Account

Get details of a dedicated virtual account on your integration.

GET /dedicated_account/:id

Headers

Param Required Description
authorization
string
Yes Set value to Bearer SECRET_KEY

Path Param

Param Required Description
id
integer
Yes ID of dedicated virtual account
{
    "status": true,
    "message": "Customer account retrieved",
    "data": {
        "transactions": [],
        "authorizations": [],
        "customer": {
            "first_name": "Pay",
            "last_name": "Bud",
            "email": "customer3@budpay.com",
            "phone": null,
            "customer_code": "CUS_sb7na27qeas7htr",
            "id": 6,
            "createdAt": "2022-03-12T16:50:14.000000Z",
            "updatedAt": "2022-02-09T13:32:31.000000Z",
            "created_at": "2022-03-12T16:50:14.000000Z",
            "updated_at": "2022-02-09T13:32:31.000000Z"
        },
        "domain": "test",
        "dedicated_account": {
            "id": 50,
            "account_name": "Samji Ventures / Pay Bud",
            "account_number": "1671149520",
            "currency": "NGN",
            "status": "active",
            "created_at": "2022-03-12T15:50:20.000000Z",
            "updated_at": "2022-03-12T15:50:20.000000Z"
        },
        "provider": {
            "id": 1,
            "bank_code": "000017",
            "bank_name": "Wema Bank",
            "prefix": "802"
        },
        "assignment": "reserved"
    }
}
curl https://budpay.ng/api/v1/dedicated_account/:id
-H "Authorization: Bearer YOUR_SECRET_KEY"
-X GET