Payment Card Reissue
This endpoint reissues an existing payment card, generating a new card number, CVV, and expiration date while retaining the same account and user details. The original card is deactivated upon reissuance, ensuring that compromised credentials cannot be used for further transactions. The response returns the newly issued card details, including a masked card number, expiration date, and current status.
Endpoint
POST /api/paymentCards/v2/reissuePaymentCard
Authentication
Bearer token required. Obtain via:
POST https://api.banking.netevia.dev/api/auth/v2
Include in header: Authorization: Bearer {token}
Token lifetime: 10 minutes. Refresh via POST /api/auth/refresh.
When to use
Use this endpoint when a cardholder reports their card as lost, stolen, damaged, or potentially compromised by fraud. It is also appropriate when a card simply needs to be replaced outside of the normal expiry cycle. For physical cards, delivery details and an optional courier method must be provided so the replacement card can be shipped to the cardholder.
Request Body
Top-level fields (extends paymentCardRequest):
| Field | Type | Required | Description |
|---|---|---|---|
paymentCardId | string | Yes | Unique identifier of the card to reissue |
reason | string (enum) | No | Reason for reissuance. One of: NeedNewCard, LostOrStolen, Fraud, Damaged, Expired |
subProfileId | integer (int32) | No | Authorized user (subProfile) ID to associate with the reissued card (business customers only) |
paymentCardName | string | No | Display name for the reissued card |
orderPhysicalPaymentCard | object | No | Required when reissuing a physical card. Contains delivery and courier details (see below) |
orderPhysicalPaymentCard fields (used when reissuing a physical card):
| Field | Type | Required | Description |
|---|---|---|---|
deliveryDetails | object | Yes | Recipient name, company, and shipping address |
courier | object | No | Shipping method selection |
paymentCardId | string | No | Card ID when resending an already-ordered physical card |
deliveryDetails fields:
| Field | Type | Required | Description |
|---|---|---|---|
name | object | Yes | Recipient name (see below) |
companyName | string | Yes | Company name on the shipping label |
address | object | Yes | Shipping address (see below) |
name fields:
| Field | Type | Required | Description |
|---|---|---|---|
givenName | string | Yes | Recipient first name |
familyName | string | Yes | Recipient last name |
address fields:
| Field | Type | Required | Description |
|---|---|---|---|
streetAddress | string | Yes | Street number and name (must match pattern: number followed by street name) |
extendedAddress | string | No | Apartment, suite, or unit number |
postalCode | string | Yes | 5-digit US ZIP code |
region | string | Yes | 2-character state/region code (e.g., CA, TX) |
locality | string | Yes | City name |
countryCodeAlpha3 | string | Yes | ISO 3166-1 alpha-3 country code (e.g., USA) |
courier fields:
| Field | Type | Required | Description |
|---|---|---|---|
method | string (enum) | No | Shipping method. One of: USPS_GROUND, USPS_PRIORITY, USPS_EXPRESS, UPS_GROUND, UPS_SECOND_DAY, UPS_NEXT_DAY |
Virtual card reissue example:
{
"paymentCardId": "pcd_abc123def456",
"reason": "LostOrStolen",
"paymentCardName": "Main Spending Card"
}Physical card reissue example:
{
"paymentCardId": "pcd_abc123def456",
"reason": "Damaged",
"paymentCardName": "Business Debit",
"orderPhysicalPaymentCard": {
"deliveryDetails": {
"name": {
"givenName": "Jane",
"familyName": "Smith"
},
"companyName": "Acme Corp",
"address": {
"streetAddress": "123 Main St",
"extendedAddress": "Suite 400",
"postalCode": "30301",
"region": "GA",
"locality": "Atlanta",
"countryCodeAlpha3": "USA"
}
},
"courier": {
"method": "UPS_NEXT_DAY"
}
}
}Response
200 OK
| Field | Type | Description |
|---|---|---|
paymentCard | object | Details of the newly reissued card |
paymentCard.id | string | Unique identifier of the new card |
paymentCard.last4 | string | Last 4 digits of the new card number |
paymentCard.bin | string | Bank Identification Number (first 6 digits) |
paymentCard.status | string | Current card status (e.g., ACTIVE, PENDING_ACTIVATION) |
paymentCard.formFactor | string | Card type: PHYSICAL or VIRTUAL |
paymentCard.network | string | Payment network (e.g., VISA, MASTERCARD) |
paymentCard.expirationDate | string (date-time) | Expiration date of the new card |
paymentCard.subProfileId | integer | Associated subProfile ID, if applicable |
paymentCard.name | string | Display name assigned to the card |
mutationResult | object | Operation result metadata |
mutationResult.errors | array | List of error objects if the operation encountered issues |
{
"paymentCard": {
"id": "pcd_xyz789ghi012",
"last4": "4321",
"bin": "411111",
"status": "ACTIVE",
"formFactor": "VIRTUAL",
"network": "VISA",
"expirationDate": "2029-06-30T23:59:59Z",
"subProfileId": null,
"name": "Main Spending Card"
},
"mutationResult": {
"errors": []
}
}Error Codes
| Code | When it happens |
|---|---|
| 400 | Missing required fields (paymentCardId), invalid field format (e.g., postal code not 5 digits, region not 2 characters), or invalid enum value for reason or courier.method |
| 401 | Token missing, expired, or invalid |
| 403 | Insufficient permissions to reissue the specified card |
| 404 | Card not found for the provided paymentCardId |
| 500 | Internal server error |
Common Mistakes
- Omitting
paymentCardId— this field is required and must be a non-empty string identifying the card to replace. - Providing
orderPhysicalPaymentCardwithout all required nested fields (deliveryDetails.name,deliveryDetails.companyName,deliveryDetails.address) — all three are required when ordering a physical card. - Using a 2-letter country code in
countryCodeAlpha3— the field requires exactly 3 characters (e.g.,USA, notUS). - Using a state abbreviation longer or shorter than 2 characters in
region— the field enforces a strict 2-character length. - Attempting to pass a
subProfileIdfor a personal customer account — authorized users (subProfiles) are a business-customer-only feature. - Not refreshing the Bearer token before making the call — tokens expire after 10 minutes, and an expired token will result in a 401 error.
Related Endpoints
POST /api/paymentCards/v2/orderPaymentCard— Order a new payment card for a customerPOST /api/paymentCards/v2/activatePaymentCard— Activate a newly issued or reissued cardGET /api/paymentCards/v2/getPaymentCard— Retrieve current details of a payment cardPOST /api/paymentCards/v2/updatePaymentCardStatus— Update the status of a payment card (e.g., suspend or cancel)
Example
curl -X POST https://api.banking.netevia.dev/api/paymentCards/v2/reissuePaymentCard \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"paymentCardId": "pcd_abc123def456",
"reason": "LostOrStolen",
"paymentCardName": "Main Spending Card"
}'