POST https://mybundlepay.com/ng/api/v1/cards/{card_id}/freeze

KEY USAGE POLICY

Important: Always begin testing with your test_secret_key. This simulates requests without freezing real cards.

  • Use test_secret_key for sandbox calls.
  • Switch to secret_key (Live Key) only when ready for production.
  • test_secret_key returns simulated responses and does not affect live cards.
  • secret_key will freeze the actual card.

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

HEADERS

Authorization * string

Pass your {secret_key} as a Bearer token.

Content-Type * application/json

All requests must be sent in JSON format.

PATH PARAMS

The ID of the virtual card to be frozen (UUID generated when card is issued).


<?php
$curl = curl_init();

curl_setopt_array($curl, array(
    CURLOPT_URL => "https://mybundlepay.com/ng/api/v1/cards/{card_id}/freeze",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_HTTPHEADER => array(
        "Authorization: Bearer {secret_key}"
    ),
));

$response = curl_exec($curl);
curl_close($curl);
echo $response;
?>

const axios = require('axios');

axios.post("https://mybundlepay.com/ng/api/v1/cards/{card_id}/freeze", {}, {
  headers: {
    "Authorization": "Bearer {secret_key}"
  }
}).then(res => {
  console.log(res.data);
}).catch(err => {
  console.error(err.response ? err.response.data : err.message);
});

curl -X POST "https://mybundlepay.com/ng/api/v1/cards/{card_id}/freeze" \
-H "Authorization: Bearer {secret_key}"
Success Response

{
  "status": "success",
  "message": "Card successfully disabled",
  "data": {
    "card_id": "{card_id}",
    "status": "DISABLED"
  }
}
Common Error Responses

Invalid Token401


{
  "status": "failed",
  "message": "Invalid secret key"
}

Card Not Found404


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

Unrecognized Token Type400


{
  "status": "failed",
  "message": "Unrecognized token type."
}