> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/click-to-pay/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay.md).

# Enroll cards in Click to Pay

## Overview

To enroll an end user and an associated card in the Click to Pay service, D1 provides three options:

* Through the issuer backend (D1 API).
* Through the issuer application (D1 SDK – in-app integration required).
* Automatic enrollment during card and end user registration (check [Manage end users](/click-to-pay/get-started/manage-end-users.md) and [Manage cards](/click-to-pay/get-started/manage-cards.md) for details).

The issuer can choose the preferred method.

D1 exposes a [Click to Pay enrol API](/click-to-pay/integrate-the-d1-api/d1-api-summary.md) that creates a consumer profile in the Click to Pay service the first time it is called.

For subsequent [Click to Pay enrol API](/click-to-pay/integrate-the-d1-api/d1-api-summary.md) calls, only the card is added, because the consumer profile is already created during the first call.

{% hint style="info" %}
**Quick links**

* [Enroll cards by D1 API](/click-to-pay/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay/enroll-cards-by-d1-api.md)
* [Enroll cards by D1 SDK](/click-to-pay/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay/enroll-cards-by-d1-sdk.md)
* [Enroll cards by auto enrollment](/click-to-pay/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay/enroll-cards-by-auto-enrollment.md)
* [Retrieve Click to Pay profiles](/click-to-pay/implement-click-to-pay-issuers/retrieve-click-to-pay-profiles.md)
* [Update Click to Pay profiles](/click-to-pay/implement-click-to-pay-issuers/update-click-to-pay-profiles.md)
* [Opt out cards from Click to Pay](/click-to-pay/implement-click-to-pay-issuers/opt-out-cards-from-click-to-pay.md)
  {% endhint %}

{% hint style="info" %}
**When to use backend vs SDK vs auto enrollment**

Use **backend enrollment (D1 API)** when:

* Enrollment is initiated from the issuer backend or customer care interface.
* You want to control Click to Pay enrollment centrally, without requiring the issuer application to call the API.

Use **SDK enrollment (D1 SDK)** when:

* You want the end user to initiate Click to Pay enrollment directly from the issuer application.
* You want to show immediate feedback in the issuer application while D1 orchestrates the backend process.

Use **auto enrollment** when:

* You want cards to be enrolled in Click to Pay automatically during D1 registration.
* You do not need additional checks such as explicit consent management or extra data validation during enrollment.
  {% endhint %}

{% hint style="info" %}

* The [Click to Pay enrol API](/click-to-pay/integrate-the-d1-api/d1-api-summary.md) is generic; it can be used to enroll data across any payment network (for example, Visa or Mastercard).
* The D1 model identifies the payment network type using `cardId`.
* Because D1 does not store the personal data used for the Click to Pay service, the issuer is responsible for ensuring that the same end user data is kept in the profiles stored within the payment network directories. This can be done through the [Update Click to Pay profiles](/click-to-pay/implement-click-to-pay-issuers/update-click-to-pay-profiles.md) feature.
  {% endhint %}

## Prerequisites

The following prerequisites must be satisfied before calling the [Click to Pay enrol API](/click-to-pay/integrate-the-d1-api/d1-api-summary.md):

{% stepper %}
{% step %}

#### Have full end user and card details

The issuer must have the full details of the end user and the associated card. If needed, see [D1 concepts](/click-to-pay/get-started/concepts.md).
{% endstep %}

{% step %}

#### Register card and end user

The D1 model requires registering both the card and the end user before enrollment. See [Register end users via API](/click-to-pay/get-started/manage-end-users/register-end-users-via-api.md) and [Register cards via API](/click-to-pay/get-started/manage-cards/register-cards/register-cards-via-api.md).
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
If the end user details have changed, do not call the [Click to Pay enrol API](broken://pages/8jJn5XQqPtRxMorjpmNF).

Instead, call the **Click to Pay update consumer** API or **Click to Pay update card** API, according to the data that has changed. See [Update Click to Pay profiles](/click-to-pay/integrate-the-d1-api/d1-api-summary.md) for details.

This allows the issuer backend to synchronize the Click to Pay directories.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.payments.thalescloud.io/click-to-pay/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
