> 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/es/implement-click-to-pay-issuers/opt-out-cards-from-click-to-pay/opt-out-by-d1-sdk.md).

# Darse de baja mediante D1 SDK

## Resumen

Esta página explica cómo la aplicación del emisor puede darse de baja de Click to Pay mediante el SDK D1.

El SDK D1 proporciona dos API de baja:

* `optOutCard` elimina una tarjeta de Click to Pay.
* `optOutConsumer` elimina todas las tarjetas del usuario final de Click to Pay.

Utiliza estos flujos del SDK cuando quieras que el usuario final inicie la baja directamente desde la aplicación del emisor mientras D1 orquesta las interacciones del backend con los directorios de Click to Pay y la red de pago.

{% hint style="info" %}
**Enlaces rápidos**

* [Dar de baja tarjetas de Click to Pay](/click-to-pay/es/implement-click-to-pay-issuers/opt-out-cards-from-click-to-pay.md)
* [Recuperar perfiles con el SDK D1](/click-to-pay/es/implement-click-to-pay-issuers/retrieve-click-to-pay-profiles/retrieve-profiles-by-d1-sdk.md)
* [Inscribir tarjetas con el SDK D1](/click-to-pay/es/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay/enroll-cards-by-d1-sdk.md)
* [Actualizar perfiles con el SDK D1](/click-to-pay/es/implement-click-to-pay-issuers/update-click-to-pay-profiles/update-profiles-by-d1-sdk.md)
  {% endhint %}

## Elige la API de SDK adecuada

### `optOutCard`

Usa `optOutCard` cuando el usuario final quiere eliminar una tarjeta específica de Click to Pay.

Esta opción mantiene sin cambios las demás tarjetas inscritas.

### `optOutConsumer`

Usa `optOutConsumer` cuando el usuario final quiere eliminar el perfil completo de Click to Pay.

Esta opción elimina todas las tarjetas inscritas en Click to Pay para ese usuario final.

## Flujo

El siguiente diagrama muestra el flujo general de baja basado en el SDK:

<figure><img src="/files/7822f34ef4d80b97daa399955d9d833bf1c0bb86" alt=""><figcaption></figcaption></figure>

## Diagrama de secuencia

El flujo del SDK tiene el mismo comportamiento funcional que el flujo de baja del backend, pero se inicia directamente desde la aplicación del emisor.

El siguiente diagrama de secuencia muestra el flujo iniciado desde la aplicación del emisor:

<figure><img src="/files/d1572fe615fa535613ed41021134170fe1a828fa" alt=""><figcaption></figcaption></figure>

### Puntos clave

* Ambas operaciones son asíncronas.
* El resultado inmediato contiene un estado de `SUCCESSFUL` o `PENDING`, además de un `operationID`.
* Usa [Recuperar perfiles con el SDK D1](/click-to-pay/es/implement-click-to-pay-issuers/retrieve-click-to-pay-profiles/retrieve-profiles-by-d1-sdk.md) antes de la baja cuando la aplicación del emisor debe mostrar el estado actual de Click to Pay.
* `optOutCard` elimina una tarjeta digital del lado de la red de pago.
* `optOutConsumer` elimina el perfil completo de Click to Pay para el usuario final en todas las tarjetas inscritas.
* El resultado final también se puede seguir a través del endpoint Get Operation en el [resumen de la API D1](/click-to-pay/es/integrate-the-d1-api/d1-api-summary.md) o a través de las notificaciones D1.

Los diagramas ilustran el flujo de baja iniciado desde la aplicación del emisor.

`optOutConsumer` sigue el mismo patrón del SDK que `optOutCard`, pero se aplica a todas las tarjetas vinculadas al usuario final.

## Gestionar notificaciones push de Click to Pay

Consulta [Gestionar notificaciones push de Click to Pay](/click-to-pay/es/implement-click-to-pay-issuers/enroll-cards-in-click-to-pay/enroll-cards-by-d1-sdk.md#handle-click-to-pay-push-notifications) en la documentación de inscripción mediante el SDK D1 para conocer los detalles de implementación.

## API del SDK para `optOutCard`

Desde el SDK D1 4.2.0, `optOutCard` ([Android](https://thalesgroup.github.io/d1sdk-docs/d1-sdk/latest/android/com/thalesgroup/gemalto/d1/clicktopay/ClickToPayService.html#optOutCard\(java.lang.String,com.thalesgroup.gemalto.d1.D1Task.Callback\)) / [iOS](https://thalesgroup.github.io/d1sdk-docs/d1-sdk/4.3.0/ios/documentation/d1/clicktopayservice/optoutcard\(_:\))) está disponible a través del SDK D1.

Usa esta API cuando el usuario final quiera darse de baja solo de una tarjeta específica.

{% tabs %}
{% tab title="Android - Kotlin" %}

```kotlin
fun optOutClick2Pay(d1Task: D1Task, cardID: String) {

    val callback: D1Task.Callback<Status?> =
        object : D1Task.Callback<Status?> {
            override fun onSuccess(data: Status?) {
                // Baja de Click to Pay correcta
                val status: Status? = data
                val operationID = data?.operationID
            }

            override fun onError(exception: D1Exception) {
                // Consulta la sección D1 SDK Integration – Error Management.
            }
        }
    d1Task.getClickToPayService().optOutCard(
        cardID,
        callback
    )
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
let cardID = ""
do {
    let status = try await d1Task.clickToPayService().optOutCard(cardID)
    switch status {
    case .pending(let operationID):
        // La baja de Click to Pay está pendiente.
        print(operationID)
    case .successful(let operationID):
        // Baja de Click to Pay realizada con éxito.
        print(operationID)
    }
} catch {
    // Maneja el error.
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Usa `optOutCard` cuando la aplicación del emisor presenta una lista de tarjetas y el usuario final selecciona una tarjeta para eliminar.
{% endhint %}

## API del SDK para `optOutConsumer`

Desde el SDK D1 4.3.0, `optOutConsumer` ([Android](https://thalesgroup.github.io/d1sdk-docs/d1-sdk/latest/android/com/thalesgroup/gemalto/d1/clicktopay/ClickToPayService.html#optOutConsumer\(com.thalesgroup.gemalto.d1.D1Task.Callback\)) / [iOS](https://thalesgroup.github.io/d1sdk-docs/d1-sdk/4.3.0/ios/documentation/d1/clicktopayservice/optoutconsumer\(\))) está disponible a través del SDK D1.

Usa esta API cuando el usuario final quiera darse de baja de todas las tarjetas de Click to Pay en una sola acción.

{% tabs %}
{% tab title="Android - Kotlin" %}

```kotlin
fun optOutConsumerClick2Pay(d1Task: D1Task) {
    val callback: D1Task.Callback<Status?> =
        object : D1Task.Callback<Status?> {
            override fun onSuccess(data: Status?) {
                // Baja de Click to Pay correcta
                val status: Status? = data
                val operationID = data?.operationID
            }

            override fun onError(exception: D1Exception) {
                // Consulta la sección D1 SDK Integration – Error Management.
            }
        }
    d1Task.getClickToPayService().optOutConsumer(
        callback
    )
}
```

{% endtab %}

{% tab title="iOS" %}

```swift
do {
    let status = try await d1Task.clickToPayService().optOutConsumer()
    switch status {
    case .pending(operationID: let operationID):
        // Gestionar escenario pendiente
        print(operationID)
    case .successful(operationID: let operationID):
        // Gestionar escenario exitoso
        print(operationID)
    }
} catch let error {
    // Maneja el error.
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Usa `optOutConsumer` cuidadosamente.

Esta acción elimina todas las tarjetas de Click to Pay del usuario final.
{% 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/es/implement-click-to-pay-issuers/opt-out-cards-from-click-to-pay/opt-out-by-d1-sdk.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.
