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:

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:

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.

API URL: https://api.bra01-pci.sandbox.visapay.visa.com/pay-by-wallet/v1/enrollments/:walletAccountId?programId=:programId

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:

  1. Enrollment Identifier (ID). Returns the enrollment identifier of the initial request.
  2. Current Enrollment Status: Used to check if enrollment process is complete.
  3. Wallet / Account Data Object: Returns all relevant user account data that was shared during the initial enrollment request.
  4. 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