Push provisioning overview
Introduction
There are two methods for cardholders to add their cards to a digital wallet: manual provisioning and push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta..
Our Mobile SDKs for iOS, Android, and React Native simplify the implementation of push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta. in your app, enabling a seamless experience for your end-users.
Manual Provisioning
Cardholders manually input their card details into the device's digital wallet. Alternatively, they can use the device's camera to scan a physical cardPhysical Card A payment card that is printed or embedded in wearables and sent to customers directly. Physical cards are created by first creating a virtual card and then upgrading it to a physical card. They are sent in an inactive state and must be activated by the card assignee before first use. or a screen displaying a virtual cardVirtual Card A payment card that is created instantly and can be used for e-commerce and online purchases. Virtual cards are issued through the Mastercard network and are automatically enrolled in the 3D Secure program for increased security and limited fraud risk. They can be created in prepaid or debit mode., allowing the details to be captured via Optical Character Recognition (OCR). Manual provisioning requires minimal effort from you, the embedderEmbedder A company or developer that integrates Weavr's embedded finance services into their own application to provide financial services to their end customers., but places greater responsibility on the cardholder to enter the details accurately.
Push ProvisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta.
Push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta., also known as "in-app provisioning," offers a seamless way for cardholders to add their cards to a digital wallet. By integrating an "Add to Wallet" button directly into your app, the user experience is significantly enhanced, reducing friction and simplifying the process for your users.
Certification requirements
Once integrated, you need certification from Google Pay and/or Apple Pay.
For Apple Pay, this includes lab certification through an Apple-affiliated test center. There are also specific launch conditions to consider, such as a minimum 30-day gap between launching Apple Pay and Google Pay.
For Google Pay, a launch process must be followed. This includes a UX/branding review, allow-listing your app, and field testing payments. Details are available from the Google Developers site.
The Weavr Support team guides you through the specific requirements to achieve certification for both Google Pay and Apple Pay.
How Push ProvisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta. works
Push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta. lets a card assigneeCard Assignee The person that a card is assigned to and who will use the card. For consumers, the card owner and card assignee are the same person. For corporates, the card assignee and card owner are different entities - the corporate is the card owner and the person using the card is the card assignee. Card assignees must be created as Authorised Users. add their card to a digital wallet directly from your app, streamlining the process and improving the user experience. Here's how it works:
-
User initiates the process. The card assigneeCard Assignee The person that a card is assigned to and who will use the card. For consumers, the card owner and card assignee are the same person. For corporates, the card assignee and card owner are different entities - the corporate is the card owner and the person using the card is the card assignee. Card assignees must be created as Authorised Users. taps the Add to Wallet button in your app. This triggers the push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta. workflow.
-
Card tokenization. The card details are securely tokenized by Weavr. Tokenization replaces sensitive card information with a unique identifier (token) that can be safely used for transactions by the different parties involved.
-
Secure communication with the wallet provider. The tokenized card data is sent to the respective digital wallet provider (Apple Pay or Google Pay) through a secure channel.
-
Verification and approval. The wallet provider verifies the tokenized data with the card issuer or network. This step ensures the card is valid and authorized to be provisioned.
-
Card added to wallet. On successful verification, the card is added to the digital wallet, ready for use in contactless payments (by tapping the phone), or online transactions.
Prerequisites
Before you can call the SDK to provision a card, you need:
- Your app allow-listed by Token Service Providers (TSPs) and digital wallets.
- An access token identifying the user.
- The card data.
- The card artwork, which must comply with the following rules:
- Be either vector PDF (recommended) or a raster PNG file.
- Have a resolution of 1536 x 969.
- Be no larger than 4 MB.
- Have square (not rounded) corners.
- Exclude elements that are only relevant for physical cardsPhysical Card A payment card that is printed or embedded in wearables and sent to customers directly. Physical cards are created by first creating a virtual card and then upgrading it to a physical card. They are sent in an inactive state and must be activated by the card assignee before first use. (such as the card number, hologram, or chip).
- Be in landscape orientation.
- Optionally include a contactless indicator (NFC payments).
- The status of the card within the digital wallet.
The specific SDK methods for the flow depend on the platform. See the platform-specific guides: iOS, Android, and React Native.
Getting approval from Apple and Google
Both Apple Pay and Google Pay, as well as Token Service Providers, set their own standards and procedures to guarantee your app isn't impersonated by malicious actors during the provisioning flow. You need to provide details for your app as evidence that you meet these requirements.
Our support team can help you navigate the procedures required to get your app certified. Contact support@weavr.io for assistance.
Access SDK dependencies
Before using the SDK, you need access to protected dependencies. You should receive:
- Access to the iOS Weavr Provisioning SDK via an access token.
- Access token to the Phyre Maven repository.
- Username and password to MeaWallet's Maven repository.
- A configuration file for the SDK.
Ensure any secret shared with you is securely stored and distributed. We recommend that you don't commit it to your code repository, and instead:
- Use a password manager to share it among your team members.
- Use your CI's secrets store to access it from your build pipelines.
Authenticating your user
To provision a card from your app, you must have a valid access token for a logged-in user.
You can obtain an access token via POST /login_with_password in conjunction with the appropriate mobile login component; or via the Biometric Authentication Component.
Fetching card data
Next, fetch the card data to provision it in your front-end. Use the GET /managed_cards endpoint.
You must ensure the card can be provisioned by checking the properties in the digitalWallets key:
pushProvisioningEnabledandwalletsEnabledaretrue.artworkReferencehas an approved code (for example,XXX001). Approval should be coordinated with our Support team.
From the data received, pass these properties to the SDK during the provisioning flow:
- Card
id - Card
friendlyNameas the card description cardNumberLastFouras the card's last four digitsnameOnCardas the card holder's name
Checking card status
Before provisioning, confirm via getCardStatus that the card is in a valid state to be provisioned.
If it isn't, hide the Add to Wallet button and display a message that the card has already been added.
Triggering the provisioning process
Once you have the relevant data and have checked the card can be provisioned, display the Add to Wallet button to the user.
On interaction, the button triggers the provisioning flow:
Provisioning and the MultiMulti Weavr Multi is an embedded finance solution that allows you to integrate financial services into your own application, providing a seamless experience for your customers. It enables you to offer managed accounts, managed cards, and transactions without requiring financial expertise. API
Two MultiMulti Weavr Multi is an embedded finance solution that allows you to integrate financial services into your own application, providing a seamless experience for your customers. It enables you to offer managed accounts, managed cards, and transactions without requiring financial expertise. API endpoints (related to cards) accept information required for push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta.:
| Method | Endpoint | Description |
|---|---|---|
| POST | /multi/managed_cards | Create a managed cardManaged Card A payment card (virtual or physical) that can be created and managed through the Weavr platform. Cards can operate in prepaid mode (with their own balance) or debit mode (linked to a managed account). All cards must be assigned to a card assignee who is an Authorised User. |
| PATCH | /multi/managed_cards/{id} | Update a managed cardManaged Card A payment card (virtual or physical) that can be created and managed through the Weavr platform. Cards can operate in prepaid mode (with their own balance) or debit mode (linked to a managed account). All cards must be assigned to a card assignee who is an Authorised User. |
Within these endpoints, the following optional parameters must be set for a card to work with Apple Pay and Google Pay:
| Attribute | Description |
|---|---|
pushProvisioningEnabled | Boolean. Set to true if the card should be turned on for push provisioningPush Provisioning A method that allows cardholders to add their card to a digital wallet (such as Apple Pay or Google Pay) directly from your app. The card details are securely tokenized and sent to the wallet provider, streamlining the process and enhancing the user experience compared to manual provisioning. This feature is currently in beta.. |
walletsEnabled | Boolean. Indicates whether the card is turned on for tokenization in a digital wallet. Applies to both push and manual provisioning. |
artworkReference | Weavr-provided reference that identifies the artwork to be shown on the mobile device. |
Next steps
Once you're familiar with the concepts and prerequisites, follow the platform-specific setup instructions: