POST https://mybundlepay.com/ng/api/create-payment
HEADERS
Authorization (Bearer {secret_key})
Content-Type application/json
BODY PARAMS
Default Method (Safehaven)
amount (Integer) - required
tx_ref (String) - required
currency (String: NGN) - required
V2 Method (Business Checkout) (VFD MFB)
method = V2
Business_name (String) - required
email (String) - required
amount (String) - required
currency (String: NGN) - required
reference (String) - required
tx_ref (String) - required
phone (String) - required
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://mybundlepay.com/ng/api/create-payment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
"method" => "V2",
"Business_name" => "Gift Venture",
"email" => "[email protected]",
"amount" => "100",
"currency" => "NGN",
"reference" => "87458KI8EUHFEGFD874",
"phone" => "07036218209",
"tx_ref" => "87458KI8EUHFEGFD874"
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Authorization: Bearer {secret_key}"
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');
axios.post('https://mybundlepay.com/ng/api/create-payment', {
method: "V2",
Business_name: "Gift Venture",
email: "[email protected]",
amount: "100",
currency: "NGN",
reference: "87458KI8EUHFEGFD874",
phone: "07036218209",
tx_ref: "87458KI8EUHFEGFD874"
}, {
headers: {
'Authorization': 'Bearer {secret_key}',
'Content-Type': 'application/json'
}
})
.then(res => console.log(res.data))
.catch(err => console.log(err.response.data));
SUCCESS RESPONSE
{
"message": "Dynamic Account Generated",
"accountNumber": "5011370868",
"accountName": "Gift Venture",
"expiryDate": "2026-04-07T11:44:38.464981Z",
"amount": "100",
"type": "Dynamic",
"bank": "VFD Microfinance Bank"
}
ERROR RESPONSES
// Missing Parameter (V2)
{
"status": "failed",
"message": "phone is required"
}
// Invalid Token
{
"status": "failed",
"message": "Invalid secret key"
}
// IP Not Whitelisted
{
"status": "failed",
"code": "IP_NOT_WHITELISTED",
"message": "Your IP is not authorized for API access."
}
// General Failure
{
"status": "failed",
"message": "Payment failed"
}