GET https://mybundlepay.com/ng/api/v2/virtual-card/{id}/transactions

KEY USAGE POLICY

Important: • Use test_secret_key for sandbox testing. • Use live_secret_key only when ready for production.

  • Test mode connects to Sandbox.
  • Live mode fetches transactions from live.
  • Your server IP must be whitelisted.

⚠ Unauthorized IPs or incorrect key usage will be blocked.

HEADERS

Authorization *

Bearer {secret_key}

Content-Type

application/json

IP WHITELISTING

Only approved server IPs can access this endpoint via API.

QUERY PARAMS

Parameter Required Description
order ASC or DESC
page Page number
take Items per page

PATH PARAM

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?order=DESC&page=1&take=10',
  CURLOPT_RETURNTRANSFER => true,
  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/{id}/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 (No Transactions Yet)

{
    "status": "success",
    "statusCode": 200,
    "message": "Transactions fetched successfully.",
    "data": [],
    "pagination": {
        "total": 0,
        "pages": 0,
        "page": "1",
        "limit": 50
    },
    "mode": "test"
}
❌ Card Not Found

{
    "status": "success",
    "statusCode": 400,
    "message": "Card not found.",
    "data": [],
    "pagination": [],
    "mode": "test"
}
❌ Missing Parameter

{
    "status": "failed",
    "message": "Missing required parameters: order, page, or take.",
    "mode": "unknown"
}
❌ Invalid Token

{
  "status": "failed",
  "code": "INVALID_TOKEN",
  "message": "Invalid secret key provided.",
  "mode": "live"
}
❌ Card Not Assigned (Live Mode)

{
  "status": "failed",
  "message": "This card is not assigned to your business.",
  "mode": "live"
}