# Visa In-App Provisioning
Enable push provisioning to pay wallets from client mobile app 

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## In-App Provisioning for Apple Pay
In-App Provisioning for Apple Pay

### [POST] /inapp/provisioning/cardData/applePay
**Create Card Data Apple Pay**

Card data for provisioning a Visa Token in ApplePay using vCardId or encrypted card as input

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'provisioning/cardData/applePay'. | Yes | string | simple | No |

#### Request Body

Create Card Data for ApplePay provisioning using vCardID or Encrypted Card.

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"nonce"**: string, **"encCard"**: string, **"vCardID"**: string, **"deviceCert"**: string, **"productType"**: string, **"signingKeyID"**: string, **"nonceSignature"**: string, **"tokenServiceProvider"**: string, <br>**Available values:** "V", "M" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"vCardID"**: string, **"activationData"**: string, **"encryptedPassData"**: string, **"ephemeralPublicKey"**: string, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 422 | Name on Card not Available. The card referenced in this request is already enrolled but has no nameOnCard value. And, there is no Customer associated with this card so that the nameOnCard can not be derived from Customer name. | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

---
## In-App Provisioning for Google Pay
In-App Provisioning for Google Pay

### [POST] /inapp/provisioning/cardData/googlePay
**Create Card Data Google Pay**

Card data for provisioning a Visa Token in GooglePay and/or Funding PAN in Google account using vCardId or encrypted card as input

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'provisioning/cardData/googlePay'. | Yes | string | simple | No |

#### Request Body

Create Card Data for Google Pay provisioning using vCardID or encrypted card

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"encCard"**: string, **"vCardID"**: string, **"deviceID"**: string, **"sessionId"**: string, **"integratorId"**: string, **"signingKeyID"**: string, **"provisionMode"**: string, <br>**Available values:** "TOKEN", "PAN", "BOTH", **"encryptionKeyID"**: string, **"clientCustomerID"**: string, **"fpanSigningKeyId"**: string, **"fpanEncryptionKeyId"**: string, **"tokenServiceProvider"**: string, <br>**Available values:** "V", "M" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"last4"**: string, **"vCardID"**: string, **"encAddress"**: string, **"expirationDate"**: { **"year"**: string, **"month"**: string }, **"opaquePaymentCard"**: string, **"googleOpaquePaymentCard"**: object, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 422 | Name on Card not Available. The card referenced in this request is already enrolled but has no nameOnCard value. And, there is no Customer associated with this card so that the nameOnCard can not be derived from Customer name. | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

---
## In-App Provisioning for Samsung Pay
In-App Provisioning for Samsung Pay

### [POST] /inapp/provisioning/cardData/samsungPay
**Create Card Data Samsung Pay**

Card data for provisioning a Visa Token in SamsungPay using vCardId or encrypted card as input

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'provisioning/cardData/samsungPay'. | Yes | string | simple | No |

#### Request Body

Create card data for Samsung Pay provisioning using vCardID or encrypted card

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"encCard"**: string, **"vCardID"**: string, **"deviceID"**: string, **"signingKeyID"**: string, **"encryptionKeyID"**: string, **"clientCustomerID"**: string, **"tokenServiceProvider"**: string, <br>**Available values:** "V", "M" }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"last4"**: string, **"vCardID"**: string, **"cardType"**: string, <br>**Available values:** "CREDIT", "DEBIT", **"opaquePaymentCard"**: string, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

---
## Universal Card Enrollment
Universal Card Enrollment

### [POST] /universal/core/customers
**Create Customer**

Creates a new `Customer` object for which `Card` object will belong to

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/customers'. | Yes | string | simple | No |

#### Request Body

Enroll `Customer`

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"locale"**: string, **"status"**: string, **"lastName"**: string, **"firstName"**: string, **"encAddress"**: string, **"encEmailAddress"**: string, **"encMobileNumber"**: string, **"clientCustomerID"**: string, **"vParentCustomerID"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"locale"**: string, **"status"**: string, **"lastName"**: string, **"firstName"**: string, **"encAddress"**: string, **"vCustomerID"**: string, **"createdDateTime"**: long, **"encEmailAddress"**: string, **"encMobileNumber"**: string, **"updatedDateTime"**: long, **"clientCustomerID"**: string, **"vParentCustomerID"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [GET] /universal/core/customers/{vCustomerID}
**Get Customer**

Retrieve a Customer

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/customers/{vCustomerID}'. | Yes | string | simple | No |
| vCustomerID | path | ID (UUID) of the `Customer` | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"locale"**: string, **"status"**: string, **"lastName"**: string, **"firstName"**: string, **"encAddress"**: string, **"vCustomerID"**: string, **"createdDateTime"**: long, **"encEmailAddress"**: string, **"encMobileNumber"**: string, **"updatedDateTime"**: long, **"clientCustomerID"**: string, **"vParentCustomerID"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 404 | Not Found | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [PUT] /universal/core/customers/{vCustomerID}
**Update Customer**

Update a Customer

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| API Key | header | API key from Visa Developer Platform (VDP) | Yes | string | simple | No |
| Accept | header | application/json | Yes | string | simple | No |
| X-Pay Token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/customers/{vCustomerID}'. | Yes | string | simple | No |
| vCustomerID | path | ID (UUID) of the `Customer` | Yes | string | simple | No |

#### Request Body

Updated Customer

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"locale"**: string, **"status"**: string, **"lastName"**: string, **"firstName"**: string, **"encAddress"**: string, **"encEmailAddress"**: string, **"encMobileNumber"**: string, **"clientCustomerID"**: string, **"vParentCustomerID"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"locale"**: string, **"status"**: string, **"lastName"**: string, **"firstName"**: string, **"encAddress"**: string, **"vCustomerID"**: string, **"createdDateTime"**: long, **"encEmailAddress"**: string, **"encMobileNumber"**: string, **"updatedDateTime"**: long, **"clientCustomerID"**: string, **"vParentCustomerID"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 404 | Not Found | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [DELETE] /universal/core/customers/{vCustomerID}
**Delete Customer**

Delete a Customer

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/customers/{vCustomerID}'. | Yes | string | simple | No |
| vCustomerID | path | ID (UUID) of the `Customer` | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 204 | No Content |  |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 404 | Not Found | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [GET] /universal/core/cards/{vCardID}
**Retrieve Card**

Retrieve a Card

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/cards/{vCardID}'. | Yes | string | simple | No |
| vCardID | path | Visa-defined unique ID of the card | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | OK | **application/json**: { **"last4"**: string, **"vCardID"**: string, **"expirationDate"**: { **"year"**: string, **"month"**: string }, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 404 | Not Found | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [DELETE] /universal/core/cards/{vCardID}
**Delete Card**

Delete enrolled card

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/cards/{vCardID}'. | Yes | string | simple | No |
| vCardID | path | Visa-defined unique ID of the card | Yes | string | simple | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 204 | No Content |  |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 404 | Not Found | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [POST] /universal/core/customers/{vCustomerID}/cards
**Enroll Card for Customer**

Enroll Card for a Customer

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/customers/{vCustomerID}/cards'. | Yes | string | simple | No |
| vCustomerID | path | `Customer` object ID (UUID) of Customer object | Yes | string | simple | No |

#### Request Body

Enroll `card` for customer

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"encCard"**: string, **"vCardID"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"last4"**: string, **"vCardID"**: string, **"expirationDate"**: { **"year"**: string, **"month"**: string }, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

### [POST] /universal/core/cards
**Enroll Card**

Enroll a Card

#### Parameters

| Name | Located in | Description | Required | Schema | Style | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ----- | ------- |
| apikey | query | API key from Visa Developer Platform (VDP) | Yes | string | form | Yes |
| Content-Type | header | application/json | Yes | string | simple | No |
| x-pay-token | header | API Key-Shared Secret Authentication. Please refer to https://developer.visa.com/pages/working-with-visa-apis/x-pay-token for more details. Resource path to be used while building x-pay-token must be 'core/cards'. | Yes | string | simple | No |

#### Request Body

Enroll `card`

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"encCard"**: string, **"clientCustomerID"**: string, **"vClientIDForPartner"**: string, **"vCustomerIDForPartner"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | Created | **application/json**: { **"last4"**: string, **"vCardID"**: string, **"expirationDate"**: { **"year"**: string, **"month"**: string }, **"paymentAccountReference"**: string }<br> |
| 400 | Bad Request | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } }<br> |
| 401 | Unauthorized | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 403 | Forbidden | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 502 | Bad Gateway | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 503 | Service Unavailable | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |
| 504 | Gateway Timeout | **application/json**: { **"errorResponse"**: { **"reason"**: string, **"status"**: integer, **"message"**: string } }<br> |

---
### Schemas

#### BasicCardInfo-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-5 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-6 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### BasicCardInfo-7 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### EnrollCardRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | Yes |
| clientCustomerID | string | This is the (external) unique identifier of the customer in the Digital Wallet Client System. This ID is unique in the client’s system. | No |
| vClientIDForPartner | string | This is the vClientID of the Digital Wallet Client on-behalf of whom this call is being made by the issuer partner. This field is required only when the Enroll card API is being made on-behalf of another partner. | No |
| vCustomerIDForPartner | string | This is the Visa generated unique identifier of the customer of the Digital Wallet Provider Client | No |

#### ErrorDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | The specific error for this field. | No |
| location | string | The value of this field is using XPATH expression to point to the field, which failed validation. | No |

#### EnrollCardRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK)</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | Yes |
| clientCustomerID | string | This is the (external) unique identifier of the customer in the Digital Wallet Client System. This ID is unique in the client’s system. | No |
| vClientIDForPartner | string | This is the vClientID of the Digital Wallet Client on-behalf of whom this call is being made by the issuer partner. This field is required only when the Enroll card API is being made on-behalf of another partner. | No |
| vCustomerIDForPartner | string | This is the Visa generated unique identifier of the customer of the Digital Wallet Provider Client | No |

#### BasicCardInfo Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### SamsungPayProvisioningRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p>  <p> <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.</p>   <div>   <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p> <p> Visa-defined unique ID of the card to produce the Google Pay provisioning card data for. <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.  </p></div>   | No |
| deviceID | string |  | Yes |
| signingKeyID | string | Token service provider specific signing key identifier | No |
| encryptionKeyID | string | Token service provider specific encryption key identifier | No |
| clientCustomerID | string |  | Yes |
| tokenServiceProvider | string, <br>**Available values:** "V", "M" | Indicates which token service provider will process the card data generated for provisioning. The default value is "V".<br>*Enum:* `"V"`, `"M"` | No |

#### Expiry-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| year | string | 4-digit expiration year | Yes |
| month | string | 2-digit card expiration month | Yes |

#### EnrollCardRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK) </td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | Yes |
| clientCustomerID | string | This is the (external) unique identifier of the customer in the Digital Wallet Client System. This ID is unique in the client’s system. | No |
| vClientIDForPartner | string | This is the vClientID of the Digital Wallet Client on-behalf of whom this call is being made by the issuer partner. This field is required only when the Enroll card API is being made on-behalf of another partner. | No |
| vCustomerIDForPartner | string | This is the Visa generated unique identifier of the customer of the Digital Wallet Provider Client | No |

#### CustomerRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| locale | string | User’s preferred locale. | Yes |
| status | string | Enum Values: ACTIVE, ONHOLD  | No |
| lastName | string | Customer's last name. | No |
| firstName | string | Customer's first name. | No |
| encAddress | string | <div><p>JWE Base64 format encrypted <code>Address</code></p> <h4>Example</h4> <pre><code> {   "name": "Digital Issuance",   "line1": "12301 Research Boulevard",   "line2": "Research Boulevard",   "line3": "Visa USA",   "city": "Austin",   "state": "TX",   "countryCode": "US",   "postalCode": "78759" } </code></pre> <h4>Address Schema</h4> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg "TX"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| encEmailAddress | string | Encrypted Customer's email address. | No |
| encMobileNumber | string | <div><p>JWE Base64 format encrypted <code>Phone Number</code></p> <h3>Example</h3> <pre><code> {   "countryCode": "65",   "phoneNumber": "5128653617" } </code></pre> <h3>Phone Number Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>countryCode</td><td>string<br>required<br>maxLength: 10</td><td>Phone number Country code</td></tr> <tr><td>phoneNumber</td><td>string<br>required<br>maxLength: 25</td><td>Phone Numbers without any special characters</td></tr> <tr><td>extension</td><td>string<br>optional<br>maxLength: 10</td><td>Phone number extension</td></tr> </tbody> </table> </div>  | No |
| clientCustomerID | string | This is the (external) unique identifier of the customer in the Digital Wallet Client System. This ID is unique in the client’s system. | No |
| vParentCustomerID | string |  | No |

#### SamsungPayProvisioningResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of the card. | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| cardType | string, <br>**Available values:** "CREDIT", "DEBIT" | Enum indicating the supported card type. It will be provided only for Visa cards.<br>*Enum:* `"CREDIT"`, `"DEBIT"` | No |
| opaquePaymentCard | string | This is the opaque card data that is needed by SamsungPay for tokenization. | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### ApplePayProvisioningRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nonce | string | 32 digit random number generated by Apple. | Yes |
| encCard | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p>  <p> <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.</p>   <div>   <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p> <p>Visa-defined unique ID of the card to produce the ApplePay provisioning card data for. <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.  </p></div>   | No |
| deviceCert | string | Apple device X.509 certificates received from mobile application. | Yes |
| productType | string | Specifies the product type for push provisioning. This value is provided by Apple's team based on the card program. If not specified, it defaults to the Visa/Mastercard default productType value. Visa's default productType is <code>DEFAULT_VISA</code> and Mastercard's default productType is <code>DEFAULT_MASTERCARD</code>. | No |
| signingKeyID | string | Token service provider specific signing key identifier | No |
| nonceSignature | string | Signature signed by Apple on nonce in SE. | Yes |
| tokenServiceProvider | string, <br>**Available values:** "V", "M" | Indicates which token service provider will process the card data generated for provisioning. The default value is "V".<br>*Enum:* `"V"`, `"M"` | No |

#### ValidationError Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | Reason Code for the error condition. Error handling business logic should be driven by this field. | No |
| status | integer | 3-digit HTTP Status Code | No |
| details | [ { **"message"**: string, **"location"**: string } ] | Array of fields - Data validation errors should use this field to specify which fields failed the validation using location field. | No |
| message | string | Message describing the error condition with additional information wherever applicable. | No |

#### Expiry Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| year | string | 4-digit expiration year | Yes |
| month | string | 2-digit card expiration month | Yes |

#### EncryptedCard Schema

<div>
<p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{
  "accountNumber": "4000000000000000",
  "nameOnCard": "Digital Issuance",
  "cvv2": "123",
  "expirationDate": {
      "month": "01",
      "year": "2021"
  },
  "billingAddress": {
    "name": "Digital Issuance",
    "line1": "12301 Research Boulevard",
    "line2": "Research Boulevard",
    "line3": "Visa USA",
    "city": "Austin",
    "state": "TX",
    "countryCode": "US",
    "postalCode": "78759"
  }
} </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EncryptedCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  |  |

#### EnrollCardForCustomerRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK) </td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | The ID of the card that is to be associated with the given customer ID. | No |

#### EnrollCardForCustomerRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK)</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | The ID of the card that is to be associated with the given customer ID. | No |

#### EncryptedCard-1 Schema

<div>
<p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{
  "accountNumber": "4000000000000000",
  "nameOnCard": "Digital Issuance",
  "cvv2": "123",
  "expirationDate": {
      "month": "01",
      "year": "2021"
  },
  "billingAddress": {
    "name": "Digital Issuance",
    "line1": "12301 Research Boulevard",
    "line2": "Research Boulevard",
    "line3": "Visa USA",
    "city": "Austin",
    "state": "TX",
    "countryCode": "US",
    "postalCode": "78759"
  }
} </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK) </td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EncryptedCard-1 | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK) </td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  |  |

#### EncryptedCard-2 Schema

<div>
<p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{
  "accountNumber": "4000000000000000",
  "nameOnCard": "Digital Issuance",
  "cvv2": "123",
  "expirationDate": {
      "month": "01",
      "year": "2021"
  },
  "billingAddress": {
    "name": "Digital Issuance",
    "line1": "12301 Research Boulevard",
    "line2": "Research Boulevard",
    "line3": "Visa USA",
    "city": "Austin",
    "state": "TX",
    "countryCode": "US",
    "postalCode": "78759"
  }
} </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK)</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EncryptedCard-2 | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>conditional</td><td>Billing address associated with the card (Billing address/country code is mandatory if enrollment is being used with Visa Digital Enablement SDK)</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \"TX\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  |  |

#### ValidationErrorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### Error Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | Reason Code for the error condition. Error handling business logic should be driven by this field. | No |
| status | integer | 3-digit HTTP Status Code | No |
| message | string | Message describing the error condition with additional information wherever applicable. | No |

#### ErrorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"message"**: string } |  | No |

#### EnrollCardForCustomerRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | The ID of the card that is to be associated with the given customer ID. | No |

#### GooglePayProvisioningResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| last4 | string | Last 4 digits of card | Yes |
| vCardID | string | Visa-defined unique ID of the card | Yes |
| encAddress | string | <div><p>JWE Base64 format encrypted <code>Address</code></p> <h4>Example</h4> <pre><code> {   "name": "Digital Issuance",   "line1": "12301 Research Boulevard",   "line2": "Research Boulevard",   "line3": "Visa USA",   "city": "Austin",   "state": "TX",   "countryCode": "US",   "postalCode": "78759" } </code></pre> <h4>Address Schema</h4> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg "TX"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| expirationDate | { **"year"**: string, **"month"**: string } |  | Yes |
| opaquePaymentCard | string | This is the opaque card data that is needed by GooglePay for tokenization. | Yes |
| googleOpaquePaymentCard | object | This is the Google opaque card data that is needed by GooglePay for Unified Push Provisioning. | No |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### ApplePayProvisioningResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vCardID | string | Visa-defined unique ID of the card to produce the provisioning card data for. | Yes |
| activationData | string | Activation data consisting of encrypted nonce, noncesignature, and authCode in base64 format. | Yes |
| encryptedPassData | string | Authentication data consisting of encrypted PAN, expiry and datetime in base64 format. | Yes |
| ephemeralPublicKey | string | VISA.ECC.ePK generated while creating MBPAD encryptedInformation. EC point with P-256 curve and uncompressed format. Base64 format. | Yes |
| paymentAccountReference | string | Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN. | No |

#### GooglePayProvisioningRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| encCard | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p>  <p> <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.</p>   <div>   <p>Encrypted <code>CardInfo</code></p> <h3>Example</h3> <pre><code>{   "accountNumber": "4000000000000000",   "nameOnCard": "Digital Issuance",   "cvv2": "123",   "expirationDate": {       "month": "01",       "year": "2021"   },   "billingAddress": {     "name": "Digital Issuance",     "line1": "12301 Research Boulevard",     "line2": "Research Boulevard",     "line3": "Visa USA",     "city": "Austin",     "state": "TX",     "countryCode": "US",     "postalCode": "78759"   } } </code></pre> <h3>CardInfo Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>accountNumber</td><td>string<br>required<br>minLength: 12<br>maxLength: 18</td><td>PAN (Primary Account Number) of the card to be provisioned or enrolled</td></tr> <tr><td>paymentAccountReference</td><td>string<br>optional</td><td>A Payment Account Reference (PAR) is a unique reference value associated with a specific cardholder PAN</td></tr> <tr><td>cvv2</td><td>string<br>conditional<br>minLength: 3<br>maxLength: 3</td><td>CVV2 value associated with the PAN on the card</td></tr> <tr><td>nameOnCard</td><td>string<br>conditional<br>minLength: 0<br>maxLength: 256</td><td>The full name on the card associated with the issued/enrolled card</td></tr> <tr><td>expirationDate</td><td><code>ExpirationDate</code><br>required</td><td>Card’s expiration date</td></tr> <tr><td>billingAddress</td><td><code>Address</code><br>optional</td><td>Billing address associated with the card</td></tr> </tbody> </table> <h3>ExpirationDate Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>month</td><td>string<br>required<br>minLength: 2<br>maxLength: 2</td><td>The month that the card is set to expire</td></tr> <tr><td>year</td><td>string<br>required<br>minLength: 4<br>maxLength: 4</td><td>The year that the card is set to expire</td></tr> </tbody> </table> <h3>Address Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg \\"TX\\"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCardID | string | <div> <p><code>Conditional.</code> </p>   <p> Either of <code>vCardId</code> or <code>encCard</code> is required.</p> <p> Visa-defined unique ID of the card to produce the Google Pay provisioning card data for. <code>vCardId</code> will take precedence in case both <code>vCardId</code> and <code>encCard</code> is part of the request body.  </p></div>   | No |
| deviceID | string | The user's Android device ID, the device's unique identifier. | Yes |
| sessionId | string | Server session ID provided by Google | No |
| integratorId | string | Integrator ID provided by Google | No |
| signingKeyID | string | Token service provider specific signing key identifier | No |
| provisionMode | string, <br>**Available values:** "TOKEN", "PAN", "BOTH" | Indicates provisioning mode to build network OPC or Google OPC or both. The default value is "TOKEN"<br>*Enum:* `"TOKEN"`, `"PAN"`, `"BOTH"` | No |
| encryptionKeyID | string | Token service provider specific encryption key identifier | No |
| clientCustomerID | string | The user's Google wallet account ID. | Yes |
| fpanSigningKeyId | string | Signing Key ID provided by Visa after signing key has been generated by Visa | No |
| fpanEncryptionKeyId | string | Encryption Key ID provided by Visa after Google's public key is onboarded in Visa | No |
| tokenServiceProvider | string, <br>**Available values:** "V", "M" | Indicates which token service provider will process the card data generated for provisioning. The default value is "V".<br>*Enum:* `"V"`, `"M"` | No |

#### CustomerResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| locale | string | User’s preferred locale. | Yes |
| status | string | Enum Values: ACTIVE, ONHOLD  | No |
| lastName | string | Customer's last name | No |
| firstName | string | Customer's first name | No |
| encAddress | string | <div><p>JWE Base64 format encrypted <code>Address</code></p> <h4>Example</h4> <pre><code> {   "name": "Digital Issuance",   "line1": "12301 Research Boulevard",   "line2": "Research Boulevard",   "line3": "Visa USA",   "city": "Austin",   "state": "TX",   "countryCode": "US",   "postalCode": "78759" } </code></pre> <h4>Address Schema</h4> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>name</td><td>string<br>optional<br>maxLength: 100</td><td>The name of the addressee</td></tr> <tr><td>line1</td><td>string<br>optional<br>maxLength: 140</td><td>First line of the address</td></tr> <tr><td>line2</td><td>string<br>optional<br>maxLength: 140</td><td>Second line of the address</td></tr> <tr><td>line3</td><td>string<br>optional<br>maxLength: 140</td><td>Third line of the address</td></tr> <tr><td>city</td><td>string<br>optional<br>maxLength: 100</td><td>Name of the city</td></tr> <tr><td>state</td><td>string<br>conditional</td><td>Second part of the “country-subdivision” (State or Province) code in ISO 3166-2 format of the country, eg "TX"</td></tr> <tr><td>postalCode</td><td>string<br>optional<br>minLength: 3<br>maxLength: 16</td><td>The postal code associated with the address, such as zip code</td></tr> <tr><td>countryCode</td><td>string<br>required</td><td>ISO 3166-1 alpha-2 formatted country code associated with the address</td></tr> </tbody> </table> </div>  | No |
| vCustomerID | string | Visa-defined Unique Id that identifies the Customer. | No |
| createdDateTime | long | Created timestamp of this entity. | No |
| encEmailAddress | string | Encrypted Customer's email address. | No |
| encMobileNumber | string | <div><p>JWE Base64 format encrypted <code>Phone Number</code></p> <h3>Example</h3> <pre><code> {   "countryCode": "65",   "phoneNumber": "5128653617" } </code></pre> <h3>Phone Number Schema</h3> <table style="border-collapse: collapse;"> <thead> <tr><th>Field</th><th>Type</th><th>Description</th></tr> </thead> <tbody> <tr><td>countryCode</td><td>string<br>required<br>maxLength: 10</td><td>Phone number Country code</td></tr> <tr><td>phoneNumber</td><td>string<br>required<br>maxLength: 25</td><td>Phone Numbers without any special characters</td></tr> <tr><td>extension</td><td>string<br>optional<br>maxLength: 10</td><td>Phone number extension</td></tr> </tbody> </table> </div>  | No |
| updatedDateTime | long | Updated timestamp of this entity. | No |
| clientCustomerID | string | This is the (external) unique identifier of the customer in the Digital Wallet Client System. This ID is unique in the client’s system. | No |
| vParentCustomerID | string |  | No |
