GET https://mybundlepay.com/ng/api/v1/card/transactions

KEY USAGE POLICY

Important: Always begin testing with your test_secret_key. This simulates requests without hitting live card transactions.

  • Use test_secret_key for sandbox calls (returns simulated transactions).
  • Switch to secret_key (Live Key) only when ready for production.
  • test_secret_key returns fake transactions and does not affect live cards.
  • secret_key will fetch actual transactions from Maplerad.

⚠️ Going live without testing may cause failed API calls or blocked access.

HEADERS

Authorization * string

Pass your {secret_key} as a Bearer token.

QUERY PARAMS

The ID of the virtual card whose transactions you want to fetch.

Filter transactions from this date (format: YYYY-MM-DD).

Filter transactions up to this date (format: YYYY-MM-DD).

Number of records per page. Default = 10. Max = 100.

Page number of results (pagination). Default = 1.

SUCCESS RESPONSE

entry can either be DEBIT or CREDIT when fetching a transaction.


<?php
$curl = curl_init();
curl_setopt_array($curl, array(
    CURLOPT_URL => "https://mybundlepay.com/ng/api/v1/card/transactions?card_id={card_id}&start_date=2023-01-23&end_date=2023-01-27&page_size=5&page=1",
    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/v1/card/transactions", {
  params: {
    card_id: "{card_id}",
    start_date: "2023-01-23",
    end_date: "2023-01-27",
    page_size: 5,
    page: 1
  },
  headers: {
    "Authorization": "Bearer {secret_key}"
  }
}).then(res => {
  console.log(res.data);
}).catch(err => {
  console.error(err.response ? err.response.data : err.message);
});

curl -X GET "https://mybundlepay.com/ng/api/v1/card/transactions?card_id={card_id}&start_date=2023-01-23&end_date=2023-01-27&page_size=5&page=1" \
-H "Authorization: Bearer {secret_key}"
Success Response

{
  "status": "success",
  "message": "Transactions fetched successfully",
  "data": [
    {
      "id": "txn_12345",
      "amount": 1500,
      "currency": "USD",
      "description": "Amazon purchase",
      "status": "SUCCESS",
      "entry": "DEBIT",
      "merchant": {
        "name": "Amazon",
        "city": "Seattle",
        "country": "US"
      },
      "created_at": "2023-01-23T12:34:56Z"
    }
  ],
  "meta": {
    "page": 1,
    "page_size": 5,
    "total": 20
  }
}
Common Error Responses

Invalid Card400


{
  "status": "failed",
  "message": "Card id does not exist"
}

Unauthorized401


{
  "status": "failed",
  "code": "INVALID_TOKEN",
  "message": "Invalid secret key provided."
}

IP Not Allowed403


{
  "status": "failed",
  "code": "IP_NOT_ALLOWED",
  "message": "Your IP is not authorized for API access."
}