API Documentation for Bank Validation Functionality

This documentation provides step-by-step guidance for developers to integrate functionalities for validating bank account V2 using PHP cURL or NodeJs. Each section includes the method, endpoint, request parameters, and sample responses.


GET https://mybundlepay.com/ng/api/validate-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
accountNumber string Yes The account number you want to validate. Must be a valid bank account number with a maximum length of 10. "1234567890"
bankCode 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:


  1. accountNumber:
    • 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"
  2. bankCode:
    • 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
// Initialize cURL
$ch = curl_init();

// Define the API endpoint
$url = "https://mybundlepay.com/ng/api/validate-bank-account";

// Replace {secret_key} with your actual secret key
$secretKey = "{secret_key}";

// Replace with actual account details
$requestBody = [
    "accountNumber" => "1234567890",
    "bankCode" => "044"
];

// Set cURL options
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requestBody));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $secretKey",
    "Content-Type: application/json",
    "Accept: application/json",
]);

// Execute the cURL request
$response = curl_exec($ch);

// Check for cURL errors
if (curl_errno($ch)) {
    echo "cURL Error: " . curl_error($ch);
    curl_close($ch);
    exit;
}

// Close the cURL session
curl_close($ch);

// Decode and process the response
$responseData = json_decode($response, true);

if (isset($responseData['status']) && $responseData['status'] === 'success') {
    // Success response
    echo "Account validation successful:\n";
    echo "Account Name: " . $responseData['data']['accountName'] . "\n";
    echo "Account Number: " . $responseData['data']['accountNumber'] . "\n";
    echo "Bank Code: " . $responseData['data']['bankCode'] . "\n";
} else {
    // Failed response
    $message = $responseData['message'] ?? 'Unknown error occurred.';
    echo "Failed to validate account: $message\n";
}
?>

                        

const axios = require('axios');

// Define the API endpoint
const url = "https://mybundlepay.com/ng/api/validate-bank-account";

// Replace {secret_key} with your actual secret key
const secretKey = "{secret_key}";

// Replace with actual account details
const requestBody = {
    accountNumber: "1234567890",
    bankCode: "044"
};

// Set headers
const headers = {
    Authorization: `Bearer ${secretKey}`,
    "Content-Type": "application/json",
    Accept: "application/json",
};

// Function to validate the bank account
const validateBankAccount = async () => {
    try {
        const response = await axios.post(url, requestBody, { headers });
        const responseData = response.data;

        if (responseData.status === "success") {
            // Success response
            console.log("Account validation successful:");
            console.log("Account Name:", responseData.data.accountName);
            console.log("Account Number:", responseData.data.accountNumber);
            console.log("Bank Code:", responseData.data.bankCode);
        } else {
            // Failed response
            console.log("Failed to validate account:", responseData.message);
        }
    } catch (error) {
        // Handle errors
        if (error.response) {
            console.error("API Error:", error.response.data.message || "Unknown error occurred.");
        } else {
            console.error("Request Error:", error.message);
        }
    }
};

// Call the function
validateBankAccount();

                        

Request Response


{
    "accountNumber": "1234567890",
    "bankCode": "044"
}


                        

Live Token Success Response


{
    "status": "success",
    "message": "success",
    "data": {
        "accountNumber": "1234567890",
        "accountName": "Ahamad Musa",
        "bankCode": "044"
    }
}


                        

Test Token Success Response


{
    "status": "success",
    "message": "success",
    "data": {
        "accountNumber": "1234567890",
        "accountName": "MYBUNDLEPAY TEST",
        "bankCode": "044"
    }
}

                        

Error Response (Invalid Bank Code)


{
    "status": "failed",
    "message": "Bank code is either incorrect or does not exist."
}