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.
GET https://mybundlepay.com/ng/api/v2/virtual-card/{id}/transactions
KEY USAGE POLICY
Important:
• Use sec-test-xxxx for sandbox testing.
• Use sec-live-xxxx for production.
- Test mode connects to Sandbox.
- Live mode fetches real card transactions.
- Your server IP must be whitelisted.
⚠ Unauthorized IPs or invalid keys will be blocked.
HEADERS
Authorization *
Bearer {secret_key}
Accept
application/json
IP WHITELISTING
Only approved server IPs can access this endpoint.
QUERY PARAMETERS
| Parameter | Required | Description |
|---|---|---|
page |
✅ | Page number (starts from 0) |
limit |
✅ | Number of records per page |
fromDate |
Optional | Filter transactions from date (YYYY-MM-DD) |
toDate |
Optional | Filter transactions to date (YYYY-MM-DD) |
PATH PARAMETER
| Parameter | Required | Description |
|---|---|---|
id |
✅ |
Test Mode → card_id Live Mode → card_account_id |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://mybundlepay.com/ng/api/v2/virtual-card/{id}/transactions?page=0&limit=10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {secret_key}',
'Accept: application/json'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');
axios.get("https://mybundlepay.com/ng/api/v2/virtual-card/{id}/transactions?page=0&limit=10", {
headers: {
"Authorization": "Bearer {secret_key}",
"Accept": "application/json"
}
})
.then(res => console.log(res.data))
.catch(err => console.error(err.response ? err.response.data : err.message));
✅ Success
{
"status": "success",
"statusCode": 200,
"message": "Transactions fetched successfully.",
"data": [],
"pagination": {
"total": 2,
"pages": 1,
"page": "0",
"limit": 10
},
"mode": "live"
}
❌ Missing Required Parameters
{
"status": "failed",
"message": "Missing required parameter(s): page, limit",
"mode": "unknown"
}
❌ Invalid Token
{
"status": "failed",
"code": "INVALID_TOKEN",
"message": "Invalid secret key provided.",
"mode": "unknown"
}
❌ IP Not Authorized
{
"status": "failed",
"code": "IP_NOT_AUTHORIZED",
"message": "Your IP is not authorized.",
"mode": "unknown"
}