Reissuing a card
How to reissue a card.
To reissue a card, use the POST /cards/{card_id}/reissue
operation and provide the parameter as shown in the table below:
Body Parameter | Description |
---|---|
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.
Note
When a card is reissued, it defaults to an inactive status. You must activate the new card to be able to use it.
Once the correct reissue type has been identified, you can make the request to the /cards/{card_id}/reissue
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.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue \
--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.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue")
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.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue', options)
.then(response => response.json())
.then(response => console.log(response))
.catch(err => console.error(err));
import requests
url = "https://sandbox.bond.tech/api/v0.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue"
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.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue");
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.1/cards/2742ff6a-7455-4066-8b45-ae12d3acca34/reissue")
.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 a request to reissue a card is shown below.
{
"card_id": "2742ff6a-7455-4066-8b45-ae12d3acca34",
"date_updated": "2020-08-16T19:39:34Z",
"date_created": "2020-08-15T19:39:34Z",
"customer_id": "c8940088-21e8-451c-987c-0a0398db3ee5",
"account_id": "26bdeb70-157c-4c44-a04a-3727793b9779",
"expiry_date": "tok_live_7g3eARzeEBJw89rJRCHqHv",
"last_four": "6270",
"card_number": "tok_live_q7kwTYb5YCYznpgRHHTs9p",
"cvv": "tok_live_c94od3AsFWYQ1ecaaMYtFU",
"status": "active",
"card_design_id": null
}
For a complete specification and interactive examples, see Reissue a card.
Updated about 1 year ago