Blog Posts

December 9, 2020

Introducing Instant Provisioning: Pay Anywhere with Mobile Wallets

Jason To
Engineering

Today, we're introducing Instant Provisioning (also known as Mobile Wallet). This feature gives cardholders the ability to safely and conveniently link their debit card to their mobile wallet without manually inputting their card details, giving cardholders the ability to connect their Synapse powered debit cards to their mobile devices in one click.  


According to eMarketer, the number of mobile payment users is increasing in the US. Users grew from 58.7 million in 2018 to 64.0 million in 2019 and is projected to grow to 69.4 million by 2020. More and more consumers are looking for the ease and speed of using a mobile wallet, and now with Synapse's Instant Provisioning, your card program can support their aspirations.


Instant Provisioning gives customers the ability to connect to Google Pay, Apple Pay, or Samsung Pay wallet and agree to the terms of service linking directly to their Synapse powered debit card to their mobile wallet.


Why Build It?

Mobile wallets give customers the convenience of a cardless experience without the risk of error when inputting cards manually and they give customers a touchless experience during the pandemic. Now platforms can integrate with the three largest mobile wallets in the industry (Google, Apple, and Samsung), increasing the likelihood of increased transactions, more spend, and higher customer satisfaction.

Under the Hood

Mobile wallets allow users to easily link their card to their Google, Apple, and Samsung wallet in just a simple tap versus manually entering card details.

For platforms interested in mobile wallets, the process is straightforward. You must first contact Apple, Google, and/or Samsung Pay to get access to their in-app provisioning documentation and to the platform's wallet widget. Synapse handles all the back-end work, connecting to their servers to respond to the platform with the activation data needed to pass back to Google, Apple, and Samsung's wallet to connect your customer's card instantly.



For developers, integration to get the activation data is a POST call on /users/<user_id>/nodes/<node_id>/subnets/<subnet_id>/push</subnet_id></node_id></user_id> with the payload:

Note: To connect with Apple Wallet, a nonce, nonce signature, and two certificates from Apple are required.


Example Response:

In the backend, we’re preparing the payment data for the user to link their card to their mobile wallet by pulling the user’s card details from their Subnet ID and encrypting it with the mobile wallet’s respective private keys to get the activation data.


You may use the activation data, encrypted data, and encrypted key to respond to the wallet’s class, for instance, Apple wallet uses the class PKAddPaymentPassRequest where the wallet servers validate the data.

What’s Next

We believe that Instant Provisioning with Apple, Samsung, and Google Pay gives users a better experience because they can instantly link their cards with a click of a button. In the future, we are exploring opportunities to expand our Native Processor by issuing out credit cards that can be used for Instant Provisioning.

Sources

Introducing Instant Provisioning: Pay Anywhere with Mobile Wallets

< Back
Jason To
December 9, 2020

What’s a Rich Text element?

The rich text element allows you to create and format headings, paragraphs, blockquotes, images, and video all in one place instead of having to add and format them individually. Just double-click and easily create content.

Static and dynamic content editing

A rich text element can be used with static or dynamic content. For static content, just drop it into any page and begin editing. For dynamic content, add a rich text field to any collection and then connect a rich text element to that field in the settings panel. Voila!

How to customize formatting for each rich text

Headings, paragraphs, blockquotes, figures, images, and figure captions can all be styled after a class is added to the rich text element using the "When inside of" nested selector system.