Visa In-App Provisioning API enables instant provisioning of digitally issued cards into mobile wallets, resulting in an increased activation and spend by the cardholders. This is accomplished by enrolling customers and their cards into In-App Provisioning and generating the encrypted card data payload needed by digital wallets like Apple Pay, Google Pay and Samsung Pay for tokenization. The following use cases represent provisioning opportunities:
A consumer has a debit account relationship with a bank and the bank wants to offer a debit card to the consumer or a consumer has some stored value with a Fintech. In both cases, Visa In-App Provisioning can help the bank or the Fintech client offer an instant digital issuance option to their consumers on their app, so consumers can create a virtual debit card and add it to their digital wallet instantaneously.
A consumer does not have a relationship with the bank yet or consumer has an existing debit account relationship with the bank and bank wants to offer a credit card to the consumer, or a Fintech client wants to offer a credit card to a consumer. In all these cases, Visa In-App Provisioning can help the bank or Fintech client offer an instant digital issuance option to their consumers on their app, so consumers can create a virtual credit card and add it to their digital wallet instantaneously.
A consumer has an existing debit card or credit card with a bank or Fintech. Visa In-App Provisioning can help the bank or Fintech client offer an option on their app to add this card to their digital wallet instantaneously.
Visa In-App Provisioning currently supports Universal Card Enrollment and In-App Provisioning for Apple Pay1, Google Pay2 or Samsung Pay3.
Universal Card Enrollment API enables Visa clients to digitally register accounts with Visa in real time. Once registered, client developers receive back a universal card identifier, that can be used inter-operably for accessing certain other Visa services like Visa In-App Provisioning without directly having to handle sensitive PAN data or without having to re-register and maintain card data repetitively across multiple Visa products in the future.
In-App Provisioning API enables clients to request encrypted card data using the universal card identifier from Universal Card Enrollment API. Clients can pass this encrypted card data payload to Apple Pay, Google Pay or Samsung Pay wallet for tokenization. This token then becomes active on the Pay Wallet and is pushed to the consumer's device.
Visa In-App Provisioning can be used by Issuers or authorized Processors, Program managers, Fintechs, Non-bank issuers and Software/Service providers.
To get started, refer to the Getting Started section in the Visa Developer Center. Use the API explorer in the "API Reference" section to understand how to use APIs in the Sandbox. Once your project is ready to be promoted to Certification environment or production, complete the details requested in the Project promotion form and enter into the appropriate VDP API Agreement for production use. A Visa implementation manager will set up the data required and promote your project to the requested environment once all requirements are met.
Note: The sandbox environment is designed to provide a general view and guide of the endpoint request and response structure. The data in the sandbox covers a small subset of possible requests. There are systematic environment limitations, and you may not be able to execute all API functionality through the API explorer in sandbox. Please code using the API specifications, including error codes.
Clients need to complete the necessary pre-requisites with each of the digital wallet providers they are looking to enable push provisioning for and the relevant issuer needs to be a participant in the Visa Token System. They need to have a mobile app published in the respective app stores and are able to publish an update. Clients need to make their own assessment on the required steps to be in compliance with the terms of the respective wallet provider and ensure that the latest requirements are satisfied by working directly with the digital wallet providers. For example, Apple may require Apple Pay In-App Provisioning entitlement on the app for distribution and all pay wallets require the 'Add to Wallet' button to meet their standard guidelines.
Each pay wallet offers a unique way to identify if a card has already been tokenized on that pay wallet on the device through the pay wallet's API/SDK integration. Client app should use this service and enable 'Add to Wallet' button only if the card is not tokenized on the device on the pay wallet yet.