POST https://mybundlepay.com/ng/api/v2/virtual-card/fetch-card
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 calls return mock virtual card details.
- Live calls return actual virtual card data for your business.
- Ensure your IP address is whitelisted on your MyBundlePay Dashboard.
⚠️ Do not use live keys for testing — unauthorized IPs will be blocked.
HEADERS
Authorization * string
Send your {secret_key} as a Bearer token in the header.
Content-Type * application/json
All requests must use JSON body format.
IP WHITELISTING
Only authorized server IPs can access this endpoint. Whitelist your IP in MyBundlePay Dashboard.
BODY PARAMS
| Parameter | Required | Description |
|---|---|---|
card_id |
✅ | Unique identifier of the virtual card to fetch. |
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://mybundlepay.com/ng/api/v2/virtual-card/fetch-card',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS =>'{
"card_id": "xxxxx-8535-4961-a720-xxxxxxx"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {secret_key}'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>
const axios = require('axios');
const data = {
card_id: "xxxxx-8535-4961-a720-xxxxxxx"
};
axios.post("https://mybundlepay.com/ng/api/v2/virtual-card/fetch-card", data, {
headers: {
"Content-Type": "application/json",
"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 fetched successfully.",
"data": {
"card_Id": "xxxxx-8535-4961-a720-xxxxxxx",
"card_balance": "5000.00",
"cardNumber": "411111******1111",
"cardName": "Test User",
"cardType": "Virtual",
"cardBrand": "VISA",
"cvv2": "123",
"card_expiry": "12/30",
"card_status": "ACTIVE",
"valid": "10/2028",
"card_reference": "SIM-REF-001",
"card_city": "Lagos",
"card_street": "10 MyBundlePay Ave",
"card_country": "NG",
"card_zipCode": "100001",
"card_countryCode": "NG"
},
"mode": "test"
}
❌ Error Response (Invalid Token)
{
"status": "failed",
"code": "INVALID_TOKEN",
"message": "Invalid secret key provided.",
"mode": "test"
}
❌ Error Response (Card Not Found)
{
"status": "failed",
"message": "Card not found or not assigned to your business.",
"mode": "live"
}