Visa Pay
Visa Pay API Endpoints
Enrollment Endpoints
Visa Pay enrollment endpoints allow clients to enroll a digital wallet or A2A Scheme account for Visa Pay services by generating a Visa format token.
Enrollment Endpoints Overview
Pre-Requisites: Clients must have completed all VisaNet setup (BIN Config, etc.) and completed Visa Pay Program Setup (refer to Getting Started) which will result in a Program_ID.
| Functionality | Endpoint | Description |
|---|---|---|
| Request Initial Enrollment POST |
/enroll | Initiates the enrollment in an asynchronous process to support batch enrollments and to avoid timeouts within the same request. Multiple token types can be requested on the same request. This POST request to enroll will only return a success / failure confirmation, but the token details that were issued must be retrieved through a subsequent GET enrollment call. |
| Retrieve Enrollment and Tokens GET |
/enrollments/{Account ID} | Initiates a request to retrieve: all tokens provisioned for the wallet account, current account status, enrollment timestamps. This endpoint will only be successful if a POST /enroll has been submitted to this account. Required fields to request GET for this endpoint: Account_ID and Program_ID. |
| Request Additional Token POST |
/enrollments/{Account ID}/token | Requests an additional token provisioning for a previously enrolled account. This call is only possible if request is done for a token_type that is not already provisioned for the enrolled account (i.e. requesting an ecomm_token for account that only has device token). Additional token call will require using the GET Enrollment to retrieve the full details of the newly provisioned token. |
| Search Enrollments POST |
/enrollments/search | This endpoint allows searching enrollments by email address, phone number, document number, or wallet account ID. Results are paginated and include complete enrollment details including status, associated tokens, and account information. Search results support cursor-based pagination using page tokens for efficient navigation through large result sets. The search is case-insensitive and returns partial matches where applicable. |
Enrollment Endpoints: Functions and Details
Request Initial Enrollment [POST]
Endpoint Description: This endpoint initiates the Visa Pay card and token generation process and return the enrollment ID field that will be used to identify the client end user's enrollment within Visa Pay. The enrollment ID is mapped one-to-one to the client's end user identifier (one enrollment ID per user, regardless of number of Visa Pay enrollment calls). The enroll endpoint is the core of the Visa Pay API, from which all other features are enabled.
Endpoint Details:
- API URL: https://api.bra01-pci.sandbox.visapay.visa.com/pay-by-wallet/v1/enroll
- Command: POST
- Requestor: Wallet Client
- Receiver: Visa Pay
Required Parameters
| Parameters | Type | Format | Description | | Content-Type | Header | String (header) | Content type of the request/response Default value: application/json |
Overview of Required API Input Fields: The enroll endpoint requires three key inputs:
- Program_ID: A necessary pre-requisite identifier that is configured through the Visa Pay control center.
- Wallet / User Data: Generating Visa Pay tokens requires a combination of mandatory and optional user specific fields.
- Token Type: Clients can request multiple types of tokens; currently Visa Pay supports two token types.
Sample Response Schema
Retrieve Generated Account & Tokens [GET]
Endpoint Description: This endpoint retrieves the enrollment information from a previously enrolled user Account_ID. Call will return all previously submitted account and program details during the enrollment request, as well as newly issued numerics / details such as Token Item Object, if requested, and card reference id. The Token ID is the source of payments from the enrolled account to Visa Pay.
Required Parameters
| Parameters | Type | Format | Description |
| Content-Type | Header | String | Content type of the request/response
Default value: application/json |
| Account_id | Path | String | Wallet Account ID, provided by client (this is simultaneously used in the API call header) |
| Program_ID | Query | String (Integer) | Program ID to which the enrollment belongs |
Overview of API Output Fields:
- Enrollment Identifier (ID). Returns the enrollment identifier of the initial request.
- Current Enrollment Status: Used to check if enrollment process is complete.
- Wallet / Account Data Object: Returns all relevant user account data that was shared during the initial enrollment request.
- Generated Token Attributes: Returns all the generated tokens along with any associated meta data.
Search Enrollments [POST]
Endpoint Description: This endpoint enables enrollment lookup by email address, phone number, document number, or wallet account Id. Results are paginated and include complete enrollment details including status, associated tokens, and account information.
Required Parameters
| Parameters | Type | Format | Description |
| Content-Type | Header | String (header) | Content type of the request/response
Default value: application/json |
Request Body Fields:
| Input Field | Type | Format | Description | | Search_type | Mandatory | Enum | Type of search to perform. Select from “EMAIL”, “PHONE_NUMBER”, ”DOCUMENT_NUMBER” or “WALLET_ACCOUNT_ID” | | Search_value | Mandatory | String | Value of the search type selected |
Payments and Auth Endpoints Overview
Pre-Requisites: Clients must have completed all VisaNet setup and Visa Pay Program Setup. Enrollments endpoints must also have been used to request Visa Pay device or ecommerce tokens.
| Functionality | Endpoint | Description |
|---|---|---|
| Authorization Webhook Callback |
{wallet-defined-authorize-endpoint} | This is an outbound call from Visa Pay that requires clients to set up and communicate to Visa the endpoint that will be called to send the payload with an authorization request. |
| Retrieve Cryptogram Data GET |
/v1/enrollments/{external-id}/cryptogram-data | Request cryptogram information for a specific wallet account and token id. |
Lifecycle Management Endpoints Overview
Pre-Requisites: Clients to have completed all VisaNet setup (BIN Config, etc.) & completed Visa Pay Program Setup which will result in a Program_ID.
| Functionality | Endpoint | Description |
|---|---|---|
| Block Account / Enrollment PATCH |
/v1/enrollments/{external-id}/status | This endpoint is used to block all Visa functionality for an enrolled account |
| UpdateEnrollment PATCH |
/v1/enrollments/{external-id} | This endpoint is used to update enrollment data / attributes of each previously enrolled account |