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