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