Bank Accounts
Learn how to create a bank account.
Overview
Bank accounts are business accounts issued by an MFB
Issue a bank account via APIs in 3 simple steps.
Step 1: Get Account Holder ID β‘
Step 2: Create Bank Account β‘
Step 3: Fetch Bank Account Details β‘
Step 1: Get Account Holder ID
The Account holder ID is required to issue a virtual bank account. If an Account Holder doesnβt exist at the moment, please visit the documentation page above to get started. As a business or developer, you can also get a list of all created Account Holders with the Get Account Holders API.
Note
A business account holder is required when creating a bank account
API Reference β‘
curl --location --request GET 'https://api.withmono.com/issuing/v1/accountholders' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc' \
--data-raw ''
{
"status": "successful",
"message": "Account holders fetched",
"data": [
{
"address": {
"country": "nigeria",
"lga": "ikeja",
"city": "ikeja",
"state": "lagos",
"postal_code": "100001",
"address_line1": "banana island",
"address_line2": "banana island"
},
"phone": "111109030841956",
"entity": "BUSINESS",
"identity": {
"type": "NIN",
"number": "1111:10111222112",
"url": "https://mono-business-assets.s3.eu-west-2.amazonaws.com/identity-FunVlKB_OKMHuQFLCT5ek-test_1.png"
},
"bvn": "22923001290",
"email": "[email protected]",
"business": "6172811205af5c47a1f31e49",
"app": "60ffd3fee03417c574fa1f55",
"live": false,
"created_at": "2021-12-08T22:21:40.428Z",
"updated_at": "2021-12-08T22:21:40.428Z",
"id": "61b12ff41f933f527efc6c90",
"first_name": "ifeoluwa",
"last_name": "olanipekun",
"selfie_url": "https://mono-business-assets.s3.eu-west-2.amazonaws.com/identity-FunVlKB_OKMHuQFLCT5ek-test_1.png"
},
],
"meta": {
"total": 5,
"pages": 1,
"previous": null,
"next": null
}
}
Step 2: Create a Bank Account
Here, we will create a bank account and assign it to an account holder.
This request contains the account holder ID
.
API Reference β‘
curl --request POST \
--url https://api.withmono.com/issuing/v1/bankaccounts \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc' \
--data '
{
"account_holder": "610adeddjhfghgvjhvjhb"
}
'
{
"status": "successful",
"message": "Bank account generation is processing",
"data": {
"id": "62f0536c50e1f24351f2c8c3"
}
}
BANK ACCOUNT WEBHOOKS
On successful creation, we send an issuing.bank_account_created webhook event.
On failed creation, we send an issuing.bank_account_failed webhook event with a reason.
Step 3: Fetch Bank Account Details
With a bank account already created, we can get detailed information about this account via the created bank account ID.
API Reference β‘
curl --request GET \
--url https://api.withmono.com/issuing/v1/bankaccounts/62f0536c50e1f24351f2c8c3 \
--header 'Accept: application/json' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc'
{
"status": "successful",
"message": "Bank Account fetched successfully",
"data": {
"id": "62f0536c50e1f24351f2c8c3",
"currency": "NGN",
"balance": 190000,
"status": "active",
"bank_name": "Safe Haven MFB",
"bank_code": "090286",
"account_holder": "62ea9b8472ece79828a5385a",
"kyc_level": "2",
"created_at": "2022-08-07T23:59:51.470Z",
"updated_at": "2022-08-08T08:06:30.478Z",
"account_name": "Femi Alayesanmi",
"account_number": "8036031517"
}
}
Fund Transfer
Two types of fund transfer operations can be performed within a Bank Account:
- Fund Transfer to a bank account number
- Fund Transfer between issued accounts
Fund Transfer to a bank account number
A bank account can initiate a bank transfer into any Nigerian Bank Account Number via API by passing the desired amount, a narration, a reference, the destination account number, and the bank code. (A list of all bank codes can be found here)
API Reference β‘
curl --request POST \
--url https://api.withmono.com/issuing/v1/bankaccounts/62f0536c50e1f24351f2c8c3/transfers \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc' \
--data '
{
"amount": "100000",
"bank_code": "057",
"account_number": "20356787876",
"reference": "asqqw323123",
"narration": "Matured Investment",
"meta": {
"my_reference": "user_id_123132"
} // Optional
}
'
{
"status": "successful",
"message": "Transfer is processing",
"data": {
"id": "62f0c405dcf59e51e408daf9"
}
}
2. Fund Transfer between issued bank accounts
A bank account can initiate a bank transfer into an already created bank account via the beneficiary bank account id, via API by passing the desired amount, a narration, a reference, and the destination account id.
API Reference β‘
curl --request POST \
--url https://api.withmono.com/issuing/v1/bankaccounts/62f0536c50e1f24351f2c8c3/transfers \
--header 'Accept: application/json' \
--header 'Content-Type: application/json' \
--header 'mono-sec-key: live_sk_EtJWxTkkQEQn0vPrg2wc' \
--data '
{
"amount": 150000,
"narration": "Loan repayment",
"reference": "asqqw3231239",
"account_id": "61a73645c2d313658ce82d44",
"meta": {
"my_reference": "customer_id"
} // Optional
}
'
{
"status": "successful",
"message": "Transfer is processing",
"data": {
"id": "62f0c405dcf59e51e408daf9"
}
}
QUICK NOTE
Please do not include any special characters while setting a payment reference.
Updated 6 months ago