> 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/make-payment/implement-contactless-payments/7.-configure-cdcvm-experiences/visa-cdcvm/visa-cvm-priority.md).

# Prioridad de CVM de Visa

## Resumen

La selección de CVM de Visa es una negociación entre el **aplicación de billetera digital** y el terminal POS.

Determina el Método de Verificación del Titular de la Tarjeta (CVM) utilizado para autenticar el **usuario final**.

Establezca la prioridad de CVM durante la inicialización del SDK en [Inicializar el SDK de Billetera NFC](/nfc-wallet-sdk-android/es/get-started/configuration/4.-initialize-the-nfc-wallet-sdk.md#configure-payment-behavior) usando `CustomConfiguration`.

Use `CustomConfiguration.Builder.selectCvmOnlinePINPriority(...)` para priorizar:

* PIN en línea

Si no establece una prioridad, NFC Wallet SDK utiliza **prioridad CDCVM**.

Según la prioridad seleccionada, NFC Wallet SDK elige el mejor CVM compatible con ambos:

* el perfil de la tarjeta (CAP)
* las capacidades del terminal (TTQ)

### Entradas usadas para la selección de CVM

#### CAP (capacidades de la tarjeta)

Los CVM compatibles por AID para un perfil sin contacto de Visa están definidos por los Procesos Adicionales de la Tarjeta (CAP).

| Asignación de bits | Descripción                                                    |
| ------------------ | -------------------------------------------------------------- |
| Byte 3 bit 8       | 1b: Se admite PIN en línea para transacciones domésticas.      |
| Byte 3 bit 7       | 1b: Se admite PIN en línea para transacciones internacionales. |
| Byte 3 bit 5       | 1b: Se admite firma.                                           |
| Byte 3 bit 4       | 1b: Se admite CDCVM.                                           |

#### TTQ (capacidades del terminal)

El terminal POS utiliza el Terminal Transaction Qualifier (TTQ) para indicar las capacidades admitidas.

| Asignación de bits | Descripción                                      |
| ------------------ | ------------------------------------------------ |
| Byte 1 bit 3       | 1b: Se admite PIN en línea.                      |
| Byte 1 bit 2       | 1b: Se admite firma.                             |
| Byte 3 bit 7       | 1b: Se admite CDCVM.                             |
| Byte 2 bit 7       | 1b: Se requiere CVM (transacción de alto valor). |

#### CVM “comúnmente compatible”

Un CVM es *comúnmente compatible* cuando está soportado tanto por el perfil de la tarjeta (CAP) como por el terminal (TTQ).

{% hint style="info" %}
La documentación de Visa a menudo se refiere a CDCVM como **CVM del dispositivo**.
{% endhint %}

### Prioridad de PIN en línea <a href="#online_pin-priority" id="online_pin-priority"></a>

1. Compruebe si se requiere CVM (`TTQ Byte 2 bit 7 == 1b`).
   * Si es falso, proceda como una transacción de bajo valor.
   * Si es verdadero, continúe con el paso 2.
2. Compruebe si `ONLINE_PIN` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando PIN en línea.
   * Si es falso, continúe con el paso 3.
3. Compruebe si `CVM del dispositivo` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando CDCVM.
   * Si es falso, continúe con el paso 4.
4. Compruebe si `FIRMA` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando firma.
   * Si es falso, no existe un CVM comúnmente compatible. El terminal puede requerir verificación en el POS o rechazar la transacción.

### prioridad CDCVM <a href="#cdcvm-priority" id="cdcvm-priority"></a>

1. Compruebe si `CVM del dispositivo` es comúnmente compatible.
   * Si es verdadero, continúe con el paso 2.
   * Si es falso, continúe con el paso 3.
2. Compruebe si el CAP admite CDCVM y si se requiere CVM (`TTQ Byte 2 bit 7 == 1b`).
   * Si es verdadero, proceda a autenticar la transacción de alto valor.
   * Si el CAP admite CDCVM pero no se requiere CVM (`TTQ Byte 2 bit 7 == 0b`), proceda con la transacción de bajo valor.
   * Si el CAP no admite CDCVM, continúe el procesamiento del pago usando `SIMILAR_A_TARJETA`.
3. Compruebe si se requiere CVM (`TTQ Byte 2 bit 7 == 1b`).
   * Si es falso, proceda como una transacción de bajo valor.
   * Si es verdadero, continúe con el paso 4.
4. Compruebe si `ONLINE_PIN` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando PIN en línea.
   * Si es falso, continúe con el paso 5.
5. Compruebe si `FIRMA` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando firma.
   * Si es falso, no existe un CVM comúnmente compatible. El terminal puede requerir verificación en el POS o rechazar la transacción.


---

# 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/nfc-wallet-sdk-android/es/implement-nfc-wallet/make-payment/implement-contactless-payments/7.-configure-cdcvm-experiences/visa-cdcvm/visa-cvm-priority.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.
