Skip to content

Reissue Card

Endpoint

PUT/api/v1/merchant/cards/{cardId}/replace/

This endpoint allows you to generate a new PAN, CVV, and expiry date for a given card.

When a card is lost, damaged, or suspected of fraudulent use, this endpoint will generate new credentials while keeping the same cardId.

Types of Renewal

Renewal Option Description Use Case
IDENTICAL_TO_THE_CURRENT_CARD Same card number, same expiry, same CVV Damaged Card
CALCULATE_NEW_EXPIRY_DATE Same card number, new expiry (3 years from now), new CVV Extend Expiry
NEW_CARD_NUMBER_WITH_SAME_EXPIRY_DATE New card number, same expiry, new CVV Fraud
NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE New card number, new expiry (3 years from now), new CVV (Default if not specified) Fraud
SAME_CARD_NUMBER_WITH_NEW_CUSTOM_EXPIRY Same card number, new custom expiry, new CVV Extend Expiry
NEW_CARD_NUMBER_WITH_NEW_CUSTOM_EXPIRY New card number, new custom expiry, new CVV Fraud

📌 Note: - If IDENTICAL_TO_THE_CURRENT_CARD is selected, the original card remains active. - For other renewal options, the original card becomes inactive.

Path Parameters

Name Type Required Description
cardId string The unique identifier of the card that requires re-issuance.

Request Body

{
  "renewOption": "NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE",
  "expiryDate": "2027-12-31",
  "shippingInformation": {
    "shippingAddress": {
      "line1": "123 Main St",
      "line2": "Apt 4B",
      "zone": "Downtown",
      "city": "New York",
      "postalCode": "10001",
      "country": "US"
    },
    "recipientFirstName": "John",
    "recipientLastName": "Doe",
    "recipientPhoneNumber": "1234567890",
    "recipientDialCode": 1,
    "recipientEmail": "johndoe@example.com",
    "cardDesign": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
}

Body Parameters

Name Type Required Description
renewOption string Defaults to NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE. Specifies how the card is renewed (see Types of Renewal above).
expiryDate string ✅ if renewOption requires a custom expiry Expiry date (YYYY-MM-DD). Must be at least 1 month from creation.
shippingInformation object ✅ if reissued card is Physical Shipping details for the new physical card.

Shipping Information Object

Name Type Required Description
shippingAddress object Shipping address details.
recipientFirstName string Cardholder's first name.
recipientLastName string Cardholder's last name.
recipientPhoneNumber string Cardholder's phone number.
recipientDialCode float Country dial-in code (without +).
recipientEmail string Cardholder's email.
cardDesign string Card design ID (retrieved from GET /card-design/).

Shipping Address Object

Name Type Required Description
line1 string Address line 1 (≤ 50 characters).
line2 string \| null Address line 2 (optional).
zone string \| null State, province, or region.
city string City (≤ 20 characters).
postalCode string Postal code (≤ 10 characters). Allowed: 0-9, A-Z, a-z, spaces, hyphens (-).
country string Country code in ISO 3166-1 Alpha-2 format (2 characters).

📌 Character Limitation: - Allowed characters range from ASCII 33 to 122. - The following characters are not allowed: ;:!?<>~\%^@{}|[]’

Example Request

PUT /api/v1/merchant/cards/{cardId}/replace/
Content-Type: application/json

{
  "renewOption": "NEW_CARD_NUMBER_WITH_NEW_EXPIRY_DATE",
  "expiryDate": "2027-12-31",
  "shippingInformation": {
    "shippingAddress": {
      "line1": "123 Main St",
      "line2": "Apt 4B",
      "zone": "Downtown",
      "city": "New York",
      "postalCode": "10001",
      "country": "US"
    },
    "recipientFirstName": "John",
    "recipientLastName": "Doe",
    "recipientPhoneNumber": "1234567890",
    "recipientDialCode": 1,
    "recipientEmail": "johndoe@example.com",
    "cardDesign": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
  }
}

Response

{
  "message": "Card successfully reissued"
}

Response Codes

Status Code Description
200 OK Card successfully reissued.
400 Bad Request Invalid request parameters or character restrictions violated.
401 Unauthorized Authentication failed.
404 Not Found Card not found.
500 Internal Server Error Server error.