The following code snippet shows an example of an subscription creation request payload and the response . For more details, please visit Visa Development Center and select VAU Push Subscription Service
The VAU Push Subscribe Service supports the following use cases. For more information, please refer to the information on VDC portal or test cases examples.
Use Case |
Description |
Subscription creation API |
This service allows up to 100 PANs to be subscribed for updates within a single request. Upon validation, the Visa Account Updater (VAU) will supply new updates if available or return the appropriate rejection codes and messages. |
UnSubscribe API |
This service enables the PANs to be unsubscribed. t returns "Success" upon successful completion or provides error codes and messages when issues are detected. |
Subscription Inquiry API |
This service enables clients to check the subscription status of PANs. It returns whether the PAN is "Subscribed" or "Not Subscribed," or provides error codes and messages if any issues are identified. |
Outbound API |
This will enable VAU to transmit PAN updates to the client whenever a subscribed PAN is updated in VAU. |
{
"acquirerSegmentId": 2,
"subMerchantName": "t1",
"merchantId": "00000000160P",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "a1",
"cardholderAccountNumber": "490AAA0009744601",
"expirationDate": "2210"
}
]
}
{
"acquirerSegmentId": 2,
"merchantId": "00000000160P",
"subMerchantName": "t1",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "a1",
"newCardholderAccountNumber": “49BBB00048284379",
"newExpirationDate": “2610",
"serviceIdentifier": "A",
"subscribedStatus": "Success",
"cardholderAccountNumber": " 49AAA00009744601",
"expirationDate": "2210"
}
]
}
{
"acquirerSegmentId": 2,
"subMerchantName": "",
"merchantId": "000000676251",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49AAA00006493475"
},
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49BBB00006493376",
"expirationDate": "2210"
}
]
}
{
"acquirerSegmentId": 2,
"subMerchantName": "",
"merchantId": "000000676251",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49AAA00006493475",
"deleteStatus": "Success"
},
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49BBB00006493376",
"deleteStatus": "NotFound"
}
]
}
{
"acquirerSegmentId": 2,
"subMerchantName": "",
"merchantId": "000000676251",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49AAA00006493475"
},
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49BBB00006493574",
"expirationDate": "2210"
}
]
}
{
"acquirerSegmentId": 2,
"merchantId": "000000676251",
"subMerchantName": "",
"subscriptions": [
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49AAA00006493475",
"subscribedStatus": "Subscribed"
},
{
"acquirerOrMerchantProprietaryInfo": "",
"cardholderAccountNumber": "49BBB00006493574",
"subscribedStatus": "NotSubscribed"
}
]
}
{
"acquirerSegmentId": 2,
"requestId": "89a801de-a10a-4acb-ab61-f05edc9a591d",
"merchantId": "00000067625P",
"subMerchantName": "",
"accountUpdates": [
{
"oldCardholderAccountNumber": "49AAA00006493475",
"oldExpirationDate": "2609",
"newCardholderAccountNumber": "49BBB00006493376",
"newExpirationDate": "2805",
"serviceIdentifier": "A",
"acquirerOrMerchantProprietaryInfo": "",
"accountUpdateType": "U"
}
]
}
{
"acquirerSegmentId": 2,
"requestId": "89a801de-a10a-4acb-ab61-f05edc9a591d",
"merchantId": "00000067625P",
"subMerchantName": "",
"accountUpdates": [
{
"oldCardholderAccountNumber": "49AAA00006493475",
"oldExpirationDate": "2609",
"acquirerOrMerchantProprietaryInfo": "",
"responseCode": "SUCCESS"
}
]
}
{
"acquirerSegmentId": 2,
"requestId": "89a801de-a10a-4acb-ab61-f05edc9a591d",
"merchantId": "00000067625P",
"subMerchantName": "",
"accountUpdates": [
{
"oldCardholderAccountNumber": "49AAA00006493376",
"oldExpirationDate": "2805",
"newCardholderAccountNumber": "49BBB00006493475",
"newExpirationDate": "2609",
"serviceIdentifier": "A",
"acquirerOrMerchantProprietaryInfo": "",
"accountUpdateType": "R"
}
]
}
{
"acquirerSegmentId": 2,
"requestId": "89a801de-a10a-4acb-ab61-f05edc9a591d",
"merchantId": "00000067625P",
"subMerchantName": "",
"accountUpdates": [
{
"oldCardholderAccountNumber": "49AAA00006493376",
"oldExpirationDate": "2805",
"acquirerOrMerchantProprietaryInfo": "",
"responseCode": "SUCCESS"
}
]
}
{
"vdpAppID": "00379218-8944-4b0a-b00a-f829c5248dab",
"callbackConfiguration": [
{
"resourcePath": "outboundtest",
"eventName": "ACQ_EQ",
"clientAppURL": "https://testproject.com/outboundtest",
"configurationOwnerAttributes": [
{
"key": "clientId",
"value": "00379218-8944-4b0a-b00a-f829c5248dab"
}
],
"action": "CREATE"
}
]
}
{
HTTP Status: 200
}
Context URL: /registration-api/v1/callbackconfiguration
{
"vdpAppID": "00379218-8944-4b0a-b00a-f829c5248dab",
"callbackConfiguration": [
{
"resourcePath": "outboundtest",
"eventName": "ACQ_EQ",
"clientAppURL": "https://testproject.com/outboundtestUpdate",
"configurationOwnerAttributes": [
{
"key": "clientId",
"value": "00379218-8944-4b0a-b00a-f829c5248dab"
}
],
"action": "UPDATE"
}
]
}
{
HTTP Status: 200
}
{
"acquirerSegmentId": 2,
"subMerchantName": "",
"merchantId": "00000067625P",
"subscriptions": []
}
{
"acquirerSegmentId": 2,
"merchantId": "00000067625P",
"subMerchantName": "",
"rejectReasonCode": "V",
"rejectReason": "No data found in subscription field"
}
Below are the implementation steps for various types of clients (acquirers/processors):
1. New VAU clients utilizing only API (Not enrolled in VAU, No VDP project created).
2. Existing VAU clients utilizing batch processing who are interested in using the VAU Push Subscribe APIs (No VDP Project created).
NOTE: As the Push Subscribe API necessitates Visa updating the client's system, the client must develop the outbound account updates API and implement it in their non-production environment for testing purposes.
· Steps for new VAU clients (not enrolled in VAU, no VDP project created) and VAU clients utilizing batch processing.
S.No. |
Steps |
1 |
Register as a user on the Visa Developer Center (VDC) portal, if necessary. |
2 |
Begin by creating a project on the VDC Portal within the sandbox environment. For further details, please visit Creating a Project. |
3 |
Download your VDC user ID, password, project key, certificate, and MLE key and certificate to access the VDC sandbox. |
4 |
Add Visa Account Updater Subscription and Outbound Push Subscribe APIs to the project from the previous step. |
5 |
Register the Client outbound nonproduction account update APIs details in configuration section in Project as shown below. |
6 |
Once the configuration is approved, perform a ping test by clicking on the ping test button to check connectivity. If the ping test fails, contact [email protected] for assistance. |
7 |
Download the test cases from the VDC portal under the Asset section. |
8 |
Develop and execute test cases in sandbox environment. (both Inbound and Outbound APIs) |
9 |
Develop the client outbound account update API with all the test cases in your sandbox environment. Visa will run the push notification service once a day for all the provided test cases. Please validate the test results and inform us of the outcome. If all the tests are successfully executed, you may proceed. If there is a need to run the Push Notification service on-demand, please reach out to [email protected] |
10 |
If you encounter issues, please contact VAU client support with details like Project Name, APP ID, Correlation Id, and a screenshot if possible. |
11 |
When you are prepared to transition to production, please contact the Client Support team in your region. For projects within the European Union, kindly inform the project manager of your decision. |
12 |
NOTE: For a new client to VAU, it is required to enroll in the VAU system as an acquirer and enroll merchant(s) before using the pub/sub feature in production. Please contact the VAU Client Services team regarding your intention to become a VAU Client and utilize the APIs. |
13 |
Initiate the Going Live process on the VDC portal by selecting your project and selecting Going Live from the Dashboard. For more info, click on Going Live |
14 |
You will receive a notification from your VDC admin/project manager with confirmation that the Going Live request has been accepted. |
15 |
Select authentication method: either X-Pay Token, Two-Way SSL, both. If Two-Way SSL is selected, you will be prompted to upload a certificate signing request (CSR). |
16 |
Submit the CSR for MLE if using Two-Way SSL. |
17 |
The VDC admin generates certificates and informs the client to download and add new project certificates to a keystore. |
18 |
Please sign a VDC contract specifically for the VAU push subscribe API. This contract must receive approval from the VDC administrator. |
19 |
The VDC admin will perform project registration and approve the project to deploy in production environment. |
20 |
Receive notification from VDC via email with instructions to download production project key/certificate, user ID and password, and MLE Key/certificate. |
21 |
The client needs to deploy the outbound account updates API to production. |
22 |
Register the Client production account update API detail in configuration section in Project: |
23 |
Once the configuration is approved, perform a ping test by clicking on the ping test button to check connectivity. If the ping test fails, contact [email protected] for assistance. |
24 |
Please update the production configuration parameters in your code with the information provided in Step 20 to enable the use of the VAU push subscribe feature in the production environment. |
25 |
Perform production validation by sending production VAU Subscription API requests and sharing with the client services the X-Correlation-ID, date, and time of requests. |
Steps for current VAU clients using the API who intend to adopt Push/Subscribe APIs (VDP project exists with VAU APIs).
NOTE: Since the Push Subscribe API requires Visa to update the client’s system, the client is required to develop the outbound account updates API and deploy it in their non-production environment during testing.
S.No |
Steps |
1 |
Add Visa Account Updater Subscription API and Visa Account Updater Outbound Push Subscribe API in the existing VDP Project in Sandbox environment. |
2 |
Register your (client’s) nonproduction account update APIs detail in configuration section in Project |
3 |
Once the configuration is approved, perform a ping test by clicking on the ping test button to check connectivity. If the ping test fails, contact [email protected] for assistance. |
4 |
Download the test cases from the project dashboard under Assets. |
5 |
Create and test the API client code for subscription API in the sandbox environment, including all test cases. |
6 |
Develop the client outbound account update API with all the test cases in your sandbox environment. Visa will run the push notification service once a day for all the provided test cases. Please validate the test results and inform [email protected] of the outcome. If all the tests are successfully executed, the client may proceed. |
7 |
If the client encounters any issues, please contact VAU regional client support with details like Project Name, APP ID, Correlation Id, and a screenshot if possible. |
8 |
When the client is prepared to transition to production, please contact the Client Support team in your region. For projects within the European Union, kindly inform the project manager of your decision. |
9 |
Initiate the Going Live process on the VDC portal by selecting your project and selecting Going Live from the Dashboard. For more info, click on Going Live |
10 |
The client will be notified by the VDC admin or project manager when the Going Live request has been accepted. |
11 |
Please sign a VDC contract specifically for the VAU push subscribe API. This contract must receive approval from the VDC administrator. |
12 |
The VDC admin will register and approve projects for production deployment. |
13 |
Receive notification from VDC via email with instructions to download production project key/certificate, user ID and password, and MLE Key/certificate. |
14 |
Please contact the VAU Client Support team or project manager to update the VAU admin VDP Project management application with the VAU push subscribe API functionality in the existing VDP project. Kindly provide the VDP project details (App Id), BID, and Segment information. |
15 |
The client needs to deploy the outbound account updates API to production. |
16 |
Register the Client production account update API detail in configuration section in Project: |
17 |
Once the configuration is approved, perform a ping test by clicking on the ping test button to check connectivity. If the ping test fails, contact [email protected] for assistance. |
18 |
Please update the production configuration parameters in your code with the information provided in Step 13 to enable the use of the VAU push subscribe feature in the production environment. |
19 |
Perform production validation by sending production VAU Subscription API requests and sharing with the project manager the X-Correlation-ID, date, and time of requests. |