GET https://mybundlepay.com/ng/api/v2/virtual-card/{card_id}/transactions
KEY USAGE POLICY
Important: Use your test_secret_key for sandbox testing.
Switch to live_secret_key only when you are ready to go live.
- Test keys use sandbox endpoints for mock data.
- Live keys connect directly to your MyBundlePay virtual card account.
- Ensure your IP is whitelisted in your MyBundlePay Dashboard.
⚠️ Unauthorized IPs or live key misuse will be blocked automatically.
HEADERS
Authorization * string
Send your {secret_key} as a Bearer token.
Content-Type application/json
JSON format is required.
IP WHITELISTING
Only registered server IPs can call this endpoint. Update your IP list in your MyBundlePay Dashboard.
QUERY PARAMS
| Parameter | Required | Description |
|---|---|---|
order |
✅ | Transaction order (ASC or DESC). Default: ASC |
page |
✅ | Pagination page number. Default: 1 |
take |
✅ | Number of transactions per page. Default: 10 |
PATH PARAM
| Parameter | Required | Description |
|---|---|---|
card_id |
✅ | Unique ID of the virtual card to fetch transactions for. |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://mybundlepay.com/ng/api/v2/virtual-card/xxxx-a228-4ec2-9337-xxxxxxx/transactions?order=DESC&page=1&take=10',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_HTTPHEADER => array(
'Authorization: Bearer {secret_key}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');
axios.get("https://mybundlepay.com/ng/api/v2/virtual-card/xxxx-a228-4ec2-9337-xxxxxxx/transactions?order=DESC&page=1&take=10", {
headers: {
"Authorization": "Bearer {secret_key}"
}
})
.then(res => console.log(res.data))
.catch(err => console.error(err.response ? err.response.data : err.message));
✅ Success Response
{
"status": "success",
"message": "Card transactions fetched successfully.",
"data": {
"transactions": [
{
"id": "xxxx-81dc-475f-bdac-xxxx",
"createdAt": "2025-11-02T23:18:13.090Z",
"amount": "5",
"cardBalanceAfter": "4450",
"type": "credit",
"method": "topup",
"narrative": "Top-up card",
"status": "success",
"currency": "usd",
"reference": "MBP-TEST-amount055216564",
"cardId": "xxxx-a228-4ec2-9337-xxxxxxx"
}
],
"meta": {
"page": 1,
"take": 10,
"itemCount": 12,
"pageCount": 2,
"hasPreviousPage": false,
"hasNextPage": true
}
},
"mode": "test"
}
❌ Error Response (Missing Parameter)
{
"status": "failed",
"message": "The card_id parameter is required.",
"mode": "test"
}
❌ Error Response (Invalid Token)
{
"status": "failed",
"code": "INVALID_TOKEN",
"message": "Invalid secret key provided.",
"mode": "live"
}
❌ Error Response (Card Not Found)
{
"status": "failed",
"message": "Card not found or not assigned to your business.",
"mode": "live"
}