Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Implement push to digital wallets

Implement push to digital wallets

Use this guide to integrate D1 push provisioning into your issuer application so end users can add their cards to Apple Pay, Google Pay, and Samsung Pay directly from your app.

At a high level, the issuer application must:

  1. Check whether the card is already digitized in the selected wallet on the device.

  2. If the card is not digitized, initiate the push provisioning flow to add the card to the wallet.

For a conceptual introduction, see Push provisioning overview.

A card cannot be digitized more than once in the same wallet on the same device. Use the digitization state to drive your Add to wallet and Activate card actions.

Before you start

Make sure the following prerequisites are met:

  • D1 onboarding

    • You have completed D1 onboarding and can access the D1 backend.

  • D1 registration

    • End users and cards are registered in D1. At minimum, the consumerId and cardId are available. See the D1 registration section in Get started.

  • D1 SDK integration

    • The D1 SDK is integrated into your issuer application for Android and/or iOS, and the SDK login flow is implemented. See Integrate the D1 SDK.

  • Wallet program enrollment

    • You are enrolled in the relevant wallet programs (for example, Apple Pay, Google Pay, Samsung Pay) and comply with each provider’s branding and UX guidelines.

End-to-end flow

The push-to-wallet implementation with D1 typically follows this sequence:

1

Check the card digitization state

When the issuer application starts, or when the end user opens a card details screen, use the D1 SDK to retrieve the card digitization state for a specific card and wallet (for example, Apple Pay, Google Pay, or Samsung Pay).

The digitization state drives your UI:

  • DIGITIZED – The card is already tokenized in the wallet on this device. Hide Add to wallet.

  • NOT_DIGITIZED – The card is not tokenized. Show an Add to wallet button.

  • PENDING_IDV – Tokenization is pending step-up authentication. Show an Activate card button if in-app authentication (ID&V) is supported.

See Get the card digitization state for detailed SDK flows and examples.

2

Push the card to the digital wallet

When the end user taps Add to wallet and the card state is NOT_DIGITIZED, call the D1 SDK to start the push provisioning flow.

The D1 SDK and D1 backend:

  • prepare the payload based on the end user and card data stored in D1

  • interact with the wallet application and TSP to perform Tokenization

  • return the result to the issuer application so you can update the UI

For platform-specific steps and sequence diagrams, see Push to the digital wallet.

3

Handle activation (pending ID&V)

If the digitization state is PENDING_IDV, the digital card is created but requires additional authentication before it can be used.

In this case:

  • Prompt the end user to authenticate in the issuer application using your chosen ID&V method.

  • After successful authentication, call the D1 SDK to activate the digital card.

The activation flow is described in Get the card digitization state and in the D1 SDK API reference.

4

Support Apple Wallet extensions

For Apple Pay, you can integrate Apple Wallet extensions so end users can start provisioning directly from the Apple Wallet application, not only from your issuer application.

Use this when you want to:

  • let Apple Wallet discover which cards are available in your issuer application

  • authenticate the end user via a dedicated UI extension

  • provide provisioning payloads to Apple Wallet for selected cards

For details, see Apple wallet extension.

How this relates to other D1 features

  • View and control – After cards are digitized, you can use the D1 SDK to list digital cards, show their status (active, suspended, deleted), and manage life cycle operations within the issuer application. See View and control.

  • Payment network push provisioning – If you also participate in payment network programs (for example, Mastercard token connect), you can push cards into token requestors certified by the payment network. See Mastercard token connect.

Use these references while implementing push to digital wallets:

Last updated

Was this helpful?