> 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/nfc-wallet-sdk-android/es/implement-nfc-wallet/tokenize-a-card/digitize-a-card.md).

# Digitalizar una tarjeta

## Resumen

Después de que la tarjeta supere las verificaciones de elegibilidad y el usuario final acepte los términos y condiciones (T\&C) cuando sea necesario, inicie la digitalización.

Durante la digitalización:

* El backend del emisor devuelve la **Tokenización** decisión (flujo verde, flujo amarillo o flujo rojo) a la aplicación de billetera digital a través de NFC Wallet.
* Si el backend del emisor aprueba (flujo verde o flujo amarillo):
  * El Proveedor de Servicios de Token (TSP) crea la tarjeta digital y sus activos (perfil y claves de pago).
  * NFC Wallet provisiona de forma segura el perfil de la tarjeta digital y las claves de pago en la aplicación de billetera digital.

En el flujo amarillo, la aplicación de billetera digital realiza ID\&V (autenticación step-up) antes de que la tarjeta pueda ser provisionada.

En el flujo rojo, la digitalización se rechaza y el SDK devuelve una devolución de llamada de error.

Implemente el flujo verde, el flujo amarillo o ambos, según su programa.

{% hint style="info" %}
Dependiendo de su programa, **T\&C** podría no ser requerido. Si es así, la aplicación de billetera digital puede aceptar los T\&C sin interacción del usuario final.
{% endhint %}

## Integración del SDK

Iniciar **digitalización de la tarjeta** llamando a `MGCardEnrollmentService.digitizeCard(...)`.

Debe implementar primero `MGDigitizationListener` para rastrear el progreso de la digitalización manejando las devoluciones de llamada según el flujo de color de inscripción:

* En el **Flujo verde (aprobado, sin step-up)** el SDK llama a estas devoluciones de llamada:

  * `onCPSActivationCodeAcquired`
  * `onComplete`

  Para detalles, consulte [Digitalización flujo verde](/nfc-wallet-sdk-android/es/implement-nfc-wallet/tokenize-a-card/digitize-a-card/green-flow-digitization.md).
* En el **flujo amarillo (aprobado con step-up)** el SDK también llama a:

  * `onSelectIDVMethod`
  * `onActivationRequired`

  Para detalles, consulte [Digitalización flujo amarillo](/nfc-wallet-sdk-android/es/implement-nfc-wallet/tokenize-a-card/digitize-a-card/yellow-flow-digitization.md).

En caso de error de digitalización, el SDK de NFC Wallet emite la devolución de llamada:

* `onError`: Digitalización fallida. Use `error.getCode()` para decidir si reintentar, pedir al usuario final que realice una acción o derivarlo al soporte.

### `MGDigitizationListener` ejemplo de implementación

Vea el fragmento de código a continuación para implementar `MGDigitizationListener`

{% code expandable="true" %}

```java
// construya su listener de Digitalización
public class MyDigitizationListener implements MGDigitizationListener {

    @Override
    public void onCPSActivationCodeAcquired(String digitalCardId, byte[] activationCode) {
        // Reciba activationCode para iniciar el aprovisionamiento de este digitalCardId.
        // Vea "Iniciar una sesión de aprovisionamiento".
    }

    @Override
    public void onSelectIDVMethod(IDVMethodSelector idvMethodSelector) {
        // Solo flujo amarillo - Reciba la lista de métodos de ID&V
        // Vea "Digitalización flujo amarillo"
    }

    @Override
    public void onActivationRequired(PendingCardActivation pendingCardActivation) {
        // Solo flujo amarillo - método de ID&V seleccionado que requiere activación
        // Vea "Digitalización flujo amarillo"
   }

    @Override
    public void onComplete(String digitalCardId) {
        // Digitalización completada con éxito.
    }

    @Override
    public void onError(String digitalCardId, MobileGatewayError error) {
        // Digitalización fallida.
        // Analice error.getCode() y aplique la lógica de reintento / recuperación adecuada.
    }
});
```

{% endcode %}

### Ejemplo de digitalización de tarjeta

En el ejemplo siguiente puede encontrar el código para iniciar la digitalización.

* En caso de flujo verde, debe proporcionar un **token de autenticación**.

{% code expandable="true" %}

```java
// referencia a su listener de Digitalización de Tarjeta
// - para rastrear el progreso de la digitalización usando devolución de llamada
MyDigitizationListener digitizationListener = new MyDigitizationListener();

// Obtenga el servicio de inscripción.
MGCardEnrollmentService enrollmentService =
        MobileGatewayManager.INSTANCE.getCardEnrollmentService();

// Desde la elegibilidad: recupere TermsAndConditions.
// Vea "Comprobar elegibilidad de la tarjeta".
TermsAndConditionSession tncSession = termsAndConditions.accept();

// Proporcione la autenticación en caso de flujo verde
byte[] authenticationToken = null;

enrollmentService.digitizeCard(tncSession, authenticationToken, digitizationListener);
```

{% endcode %}


---

# 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:

```
GET https://docs.payments.thalescloud.io/nfc-wallet-sdk-android/es/implement-nfc-wallet/tokenize-a-card/digitize-a-card.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
