Reissuing a card

How to reissue a card.

To reissue a card, use the POST /cards/reissue/{card_id} operation and provide path and body parameters, as shown in the table below:

Path ParameterDescription
card_id
required
The id for the card to be reissued
Body ParameterDescription
reissue_type
required
Type of reissue:
same_card_number—issue a card with the same card number as the old card.
same_card_number_updated_expiry—issue a card with the same card number but a new expiry date.
new_card_number—issue a card with a different number from the old card.

Note: For all three reissue types, the old card will not work anymore once reissued, and the cardholder will be unable to transact with an old physical card until they receive the new card.

If the customer's card is lost or stolen, we recommend using new_card_number to create a new primary account number (PAN) for the new card.

Creating a new PAN is especially relevant for recurring payment or card-on-file use cases. Because merchants are not allowed to store CVVs for saved cards, they are unable to check CVV when they process an authorization for a saved card. This makes it important to reissue a lost or stolen card with a new card number and details. However, if the old card is damaged or still in the user's possession, use same_card_number or same_card_number_updated_expiry to change the expiry without creating a new PAN.

Once the correct reissue type has been identified, you can make the request to the /cards/reissue/{card_id} endpoint. An example of a request to reissue the card ID 2742ff6a-7455-4066-8b45-ae12d3acca34 with the same card number but with a new expiry date is shown below:

curl --request POST \
  --url https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34 \
  --header 'Authorization: YOUR-AUTHORIZATION' \
  --header 'Content-Type: application/json' \
  --header 'Identity: YOUR-IDENTITY'
  {
  "reissue_type": "same_card_number_updated_expiry"
}
require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["Identity"] = 'YOUR-IDENTITY'
request["Authorization"] = 'YOUR-AUTHORIZATION'
request.body = "{\"reissue_type\":\"same_card_number_updated_expiry\"}"
response = http.request(request)
puts response.read_body
const options = {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Identity: 'YOUR-IDENTITY',
    Authorization: 'YOUR-AUTHORIZATION'
  },
  body: JSON.stringify({reissue_type: 'same_card_number_updated_expiry'})
};

fetch('https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34', options)
  .then(response => response.json())
  .then(response => console.log(response))
  .catch(err => console.error(err));
import requests

url = "https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34"

payload = {"reissue_type": "same_card_number_updated_expiry"}
headers = {
    "Content-Type": "application/json",
    "Identity": "YOUR-IDENTITY",
    "Authorization": "YOUR-AUTHORIZATION"
}

response = requests.request("POST", url, json=payload, headers=headers)

print(response.text)
var client = new RestClient("https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Identity", "YOUR-IDENTITY");
request.AddHeader("Authorization", "YOUR-AUTHORIZATION");
request.AddParameter("application/json", "{\"reissue_type\":\"same_card_number_updated_expiry\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"reissue_type\":\"same_card_number_updated_expiry\"}");
Request request = new Request.Builder()
  .url("https://sandbox.bond.tech/api/v0/cards/reissue/2742ff6a-7455-4066-8b45-ae12d3acca34")
  .post(body)
  .addHeader("Content-Type", "application/json")
  .addHeader("Identity", "YOUR-IDENTITY")
  .addHeader("Authorization", "YOUR-AUTHORIZATION")
  .build();

Response response = client.newCall(request).execute();

An example of a successful response to this request is shown below.

{
        "card_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
        "last_four": "6169",
        "status": "Reissued"
}

For a complete specification and interactive examples, see Reissue a card.