# Visa Pay

Search API Reference

- [Getting Started](https://developer.visa.com/content/vdp-site/capabilities/visa-pay/restricted/getting-started-with-tcs-currency-vault)
- [Request & Response Codes](https://developer.visa.com/request_response_codes)
- API Reference
  - Visa Pay
    - patchUpdate Enrollment Data
    - postGet Basic Authentication Access Token
    - patchBlock and Unblock Token
    - getGet Visa Pay Account
    - patchBlock and Unblock Account
    - postReplenish HCE Keys
    - postEnroll Visa Pay Account
    - postRetrieve Cryptogram Data
    - postRequest Additional Tokens
    - postAuthorization Callback - Outbound
    - postGet OpenID Access Token

# Visa Pay

Visa Pay API is not hosted in VDP. For sandbox access, you must use the domain: sandbox.visapay.visa.com

## Update Enrollment Data  v1

Update client wallet enrollment data (phone number, e-mail, etc.)

Request

##### path Parameters

|     |     |
| --- | --- |
| externalId<br>required | any<br>External ID of the enrollment to be updated (wallet_account_id). |

##### query Parameters

|     |     |
| --- | --- |
| programId<br>required | any<br>Program ID to which the enrollment belongs. |

##### header Parameters

|     |     |
| --- | --- |
| Content-Type<br>required | any<br>Default: application/json<br>Content type of the request/response |
| x-tenant<br>required | any<br>Tenant ID |

##### Request Body schema: application/json

|     |     |
| --- | --- |
| program_id<br>required | any<br>Program ID<br>Example: 16805 |
| wallet_data<br>required | object<br>Wallet data. |
| |     |     |
| --- | --- |
| account_id<br>required | string <= 15 characters <br>Wallet account ID<br>Example: "123456" |
| customer_id | string <= 100 characters <br>Customer ID |
| document_number | any<br>Document number<br>Example: "123456789" |
| email_id | string <email>  <= 100 characters <br>Email address<br>Example: "user@example.com" |
| full_name | string <= 60 characters <br>Full name of the user<br>Example: "John Doe" |
| phone | object |
| |     |     |
| --- | --- |
| country_code | string <= 5 characters <br>Country code (0 to 99999)<br>Example: "1" |
| phone_number | string <= 15 characters <br>Phone number<br>Example: "11111111" | |
| user_name | string <= 64 characters <br>Username<br>Example: "johndoe" |

Responses

200
Enrollment updated successfully

##### Response Schema: application/json

|     |     |
| --- | --- |
| message | any<br>Example: "success" |

400
Bad request error

##### Response Schema: application/json

|     |     |
| --- | --- |
| code | any<br>Error code.<br>Example: "INVALID_REQUEST" |
| message | any<br>Error message.<br>Example: "The request payload is invalid" |

404
Enrollment not found

##### Response Schema: application/json

|     |     |
| --- | --- |
| code | any<br>Error code.<br>Example: "NOT_FOUND" |
| message | any<br>Error message.<br>Example: "The entity with provided key was not found." |

500
Internal server error

##### Response Schema: application/json

|     |     |
| --- | --- |
| code | any<br>Error code.<br>Example: "INTERNAL_ERROR" |
| message | any<br>Error message.<br>Example: "An internal error occurred." |

### Sandbox server

https://sandbox.api.visa.com/v1/enrollments/{external-id}

Request samples

- Payload

application/json

```json
{"program_id": 16805,
  
"wallet_data": {"phone": {"country_code": "1",
  
"phone_number": "11111111"},

"email_id": "user@example.com",

"full_name": "John Doe",

"user_name": "johndoe",

"account_id": "123456",

"customer_id": "string",

"document_number": "123456789"}}
```

Response samples

- 200
- 400
- 404
- 500

application/json

```json
{"message": "success"}
```
