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.
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.
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"
}