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