Build With MyBundlePay
One integration for payments, cards, bills and payouts.
MyBundlePay gives developers a clean payment gateway, virtual account funding, payout rails, card issuing tools, bill payments, webhooks and merchant-ready checkout experiences.
REST APIs
JSON based
Webhooks
Real time events
Sandbox
Test first
API Test Console
Test the current endpoint directly from the documentation. Secret keys stay inside this browser session.
Enter your test key, review the sample body for this page, then send a request.
API Documentation for Bank Validation Functionality
This documentation provides step-by-step guidance for developers to integrate functionalities for validating bank account V1 using PHP cURL or NodeJs. Each section includes the method, endpoint, request parameters, and sample responses.
POST https://mybundlepay.com/ng/api/resolve-bank-account
HEADERS
Authorization* string
Pass your {secret_key} as a bearer token in the request header to authorize this call
Accept: application/json
REQUEST PARAMETERS*
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| account_number | string | Yes | The account number you want to validate. Must be a valid bank account number with a maximum length of 10. | "1234567890" |
| bank_code | string | Yes | The code identifying the bank where the account is held. This must correspond to a valid bank in the system. | "044" |
Details for Request Parameters:
-
account_number:
- This is the account number you want to validate.
- It must be a string, even if it contains only numeric characters.
- Ensure the length does not exceed 10 characters to meet validation requirements.
- Example: "1234567890"
-
bank_code:
- This parameter identifies the bank associated with the provided account number.
- Use the correct code for the bank as defined in the system. You can fetch the list of valid bank codes using the Fetch Banks API.
- Example: "044" (Code for Access Bank in Nigeria).
< ?php
$token = 'sec-live-your-token-here';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://mybundlepay.com/ng/api/resolve-bank-account');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'account_number' => '2328990453',
'bank_code' => '043'
]));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer ' . $token,
'Content-Type: application/json',
'Accept: application/json',
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>
const axios = require('axios');
const url = "https://mybundlepay.com/ng/api/resolve-bank-account";
const secretKey = "{secret_key}";
const requestBody = {
account_number: "1234567890",
bank_code: "044"
};
const headers = {
Authorization: `Bearer ${secretKey}`,
"Content-Type": "application/json",
Accept: "application/json",
};
const validateBankAccount = async () => {
try {
const response = await axios.post(url, requestBody, { headers });
const responseData = response.data;
if (responseData.status === "success") {
console.log("Account validation successful:", responseData.data);
} else {
console.log("Validation failed:", responseData.message);
}
} catch (error) {
console.error("API error:", error.response?.data?.message || error.message);
}
};
validateBankAccount();
Live Token Success Response
{
"status": "success",
"message": "Account resolved successfully.",
"data": {
"account_number": "1234567890",
"account_name": "Ahamad Musa",
}
}
Test Token Success Response
{
"status": "success",
"message": "success",
"data": {
"account_number": "1234567890",
"account_name": "MYBUNDLEPAY TEST",
}
}
Error Response (Invalid Bank Code)
{
"status": "failed",
"message": "Bank code is either incorrect or not supported."
}
Error Response (KYC Not Approved)
{
"status": "failed",
"message": "KYC not approved"
}