> ## Documentation Index
> Fetch the complete documentation index at: https://docs.equalsmoney.com/llms.txt
> Use this file to discover all available pages before exploring further.

# About digital wallet tokens

> Learn about digital wallet tokens.

## Overview

A **digital wallet** is an application that allows people to store their payment information and purchase history on their device.

A **digital wallet token** represents a specific card, digital wallet, and device combination. The card's sensitive data is replaced by a unique token, so none of the original card details are exposed when the digital wallet is used for a payment.

<Info>
  Tokenisation is enabled at a BIN and card product level. If you're not sure this is enabled for your cards, please get in touch with your account manager.
</Info>

A single card can have multiple digital wallet tokens, for example if it's added to both Apple Pay on an iPhone and Google Pay on a Pixel phone.

<Info>
  We support Apple Pay, Google Pay, and Samsung Pay wallets.
</Info>

## How it works

The Equals API supports two types of provisioning to add a payment card to a digital wallet:

* **manual provisioning**, where the cardholder enters their card details directly into their digital wallet
* **in-app provisioning**, where you create a digital token and ask the cardholder for authorisation to add it to their wallet

In both cases, you'll need to have an existing app and the relevant App Store or Google Play certificates.

### Manual provisioning

1. The cardholder enters their card's Primary Account Number (PAN) details into their device's wallet.
2. The digital wallet requests a token from the card network.
3. We send you a `DigitalWalletTokenTransition` webhook to notify you of the digital wallet activation request.
4. We then ask the cardholder to authorise this request, either through app verification or OTP SMS verification:
   * For app verification, a redirection link to the cardholder's banking app (configured in the card product) will be displayed in their device wallet app. When the cardholder opens the link, they are redirected to their banking app. They then decide whether or not to accept the verification via the [Update a digital wallet token's state](/pages/cards/update-digital-wallet-tokens) endpoint. If approved, we send a webhook confirming that the digital wallet token is now active.
   * For OTP SMS verification, we send a text message to the number stored against the cardholder. The cardholder enters the code in their device wallet app and if it's correct, we send you a `DigitalWalletTokenTransition` webhook, confirming that the digital wallet token is now `ACTIVE`.

### In-app provisioning

1. You send a request to create a digital wallet token using the Equals API. The exact request you need to send depends on the device wallet type. [Learn more about creating digital wallet tokens](/pages/cards/create-digital-wallet-tokens).
2. You receive a `DigitalWalletTokenTransition` webhook event containing the digital wallet token. Its state will be `ACTIVE`, meaning it's ready to be used.

## Digital wallet token states

<div className="diagram center">
  <img src="https://mintcdn.com/equalsmoney-0d00329a/Gcy_W3pNLgh52Qmj/images/diagrams/diagram-digital-wallet-token-states.svg?fit=max&auto=format&n=Gcy_W3pNLgh52Qmj&q=85&s=3b7d07ad6f3ad75d593c513d3d0f290c" alt="Diagram showing possible states that a digital wallet token can go through." width="1350" height="1101" data-path="images/diagrams/diagram-digital-wallet-token-states.svg" />
</div>

| State              | Description                                                                                                                                                                                                              |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `REQUESTED`        | The digital wallet token has been created, but not been activated yet. It can't be used for any transactions yet. This is the initial state for all digital wallet tokens.                                               |
| `ACTIVE`           | The digital wallet token has been activated and is ready to be used.                                                                                                                                                     |
| `REQUEST_DECLINED` | The request to create the digital wallet token was declined. This is a final state.                                                                                                                                      |
| `SUSPENDED`        | The digital wallet token's state was updated from `ACTIVE` to `SUSPENDED`, using the API. The digital wallet token can't be used in the suspended state, but could be used again if its state is changed back to active. |
| `TERMINATED`       | The digital wallet token has been terminated and can no longer be used. This is a final state.                                                                                                                           |

## Digital wallet fulfillment status

| State         | Description                                                               |
| ------------- | ------------------------------------------------------------------------- |
| `PROVISIONED` | The token has successfully been provisioned.                              |
| `REJECTED`    | The token provisioning request has been rejected. This is a final status. |
