Overview
This document provides a short overview of the technical steps required on the backend, mobile, and frontend sides to integrate credit cards into Apple Pay and Google Pay.
Steps on Backend
- Provide TOTP:
Generate and providecardSecret
andcardId
. - Integrate User Notifications:
Mandatory notifications must be implemented to keep users informed about the status of card provisioning.
Steps on Frontend
- Optional: Display an overview of Apple Pay / Google Pay integration status for different user cards.
Steps on Mobile App(s)
For detailed mobile development, refer to:
- Integrate the MeaWallet Push Provisioning SDK.
- Add a splash screen for Apple Pay to remind users to provision their credit cards.
Key Terms
Term | Description |
---|---|
VTS | Visa Token Service: Tokenizes card details to replace sensitive account information (PAN) with a unique token for secure mobile payments. |
Mobile Wallet | The digital wallet on a smartphone (e.g., Apple Pay, Google Pay) that stores credit card information for payments. |
Token | A unique representation of a credit card, replacing the PAN for secure transactions. |
Tokenization | The process of generating a token from a credit card's PAN. |
Provisioning | Adding a credit card to a mobile wallet. |
Push Provisioning | Adding a credit card to a mobile wallet (Apple Pay or Google Pay) via the partner's mobile app. |
MPP | MeaWallet Push Provisioning SDK for enabling tokenization and provisioning within a mobile app. |
Green Flow | A user authenticated in the partner app starts the provisioning process without additional authentication. |
Yellow Flow | A user starts provisioning from the mobile wallet app and requires further authentication, such as entering an OTP. |
Red Flow | Tokenization is declined by VISA, requiring a restart of the process. |
OTP | One Time Password: A single-use password to authenticate a user. For Google Pay, the OTP is provided by VISA directly via SMS. For Apple Pay, the partner provides the OTP via email or SMS. |
TOTP | Time-based One Time Password: A password valid only for a short time (e.g., a few minutes). |
PAN | Primary Account Number: The credit card number printed on the card. |
Implementation Overview
Mobile Apps
For mobile app integration, refer to:
Backend
- Subscribe and listen to callbacks for card provisioning status changes.
- Handle OTP delivery for Apple Pay provisioning (if VISA chooses the yellow flow).
- Implement APIs to fetch data about provisioned cards and associated mobile devices.
- Apple Pay-specific:
- Send confirmation emails upon successful tokenization.
- Provide an endpoint to determine if a splash screen is required to remind users to provision cards (mandatory for Apple certification).
Important
This is part of Apple’s certification process. A user who has not provisioned a card yet must be reminded for the first 3 months to do so. Provisioned cards are those with aprovisioningStatus
of eitherTOKEN_PROVISIONED
orTOKEN_ACTIVATED
. This data can be retrieved via callbacks or the GET endpoint .
Frontend
- Optionally display information about provisioned cards for users or organizations.
Flow Overview
Green Flow (Initiated from Partner Mobile App)
- User starts provisioning in the partner app.
- Mobile wallet app requests confirmation of card details.
- User accepts T&Cs in the mobile wallet app.
- Tokenization and authentication occur in the background.
- Mobile wallet app confirms successful provisioning.
- User is redirected to the partner app for confirmation.
Green Flow Status Changes
TOKEN_CREATED
: Token generated for the selected card.TOKEN_ACTIVATED
: Token successfully activated (final status).
Yellow Flow (Initiated from Mobile Wallet)
- User starts provisioning in the mobile wallet app and enters card details.
- User selects provisioning method.
- Tokenization begins:
-
- As part of this, you may receive a OTP (one time password) which needs to be forwarded to the user by an appropriate method (email, push notifications, ...), depending on which method the cardholder selects in the mobile wallet. If they select SMS, the SMS is sent by our processor Thredd immediately. Only if another method is chosen Pliant receives the OTP and forwards it then to the partner as a callback.
-
- User receives OTP and enters it in the mobile wallet app.
- VISA validates the OTP and activates the token, completing the provisioning.
Yellow Flow Status Changes
TOKEN_CREATED
: Token generated for the card.TOKEN_PROVISIONED
: Token provisioned, awaiting further verification.PASSCODE_SENT
: OTP sent to the user.- Final Status Options:
TOKEN_ACTIVATED
: Token successfully activated.TOKEN_ACTIVATION_FAILED
: Activation failed.
provisioningStatus
Behaviour
provisioningStatus
BehaviourCard Changes in Wallet
tokenStatus Change | Description |
---|---|
ACTIVE | Card added to wallet. |
DELETED | Card removed from wallet. |
SUSPENDED | Card locked in wallet (reflected in the wallet). |
Note: provisioningStatus
does not change after reaching TOKEN_ACTIVATED
.
Associated Email Notifications
Based on the behaviour described above, the following notifications are sent:
Event | Notification |
---|---|
Card added to wallet | Email sent. |
Card locked/unlocked | No email sent. |
Card removed from wallet | No email sent. |
Card added again | Email sent. |
Updated 21 days ago