> 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 la **aplicación de cartera digital** y el terminal POS.

Determina el método de verificación del titular de la tarjeta (CVM) utilizado para autenticar al **usuario final**.

Establezca la prioridad de CVM durante la inicialización del SDK en [Inicializar el SDK de NFC Wallet](/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 usa **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 utilizadas 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 Card Additional Processes (CAP).

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

#### TTQ (capacidades del terminal)

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

| Asignación de bits | Descripción                                      |
| ------------------ | ------------------------------------------------ |
| Byte 1 bit 3       | 1b: Se admite PIN en línea.                      |
| Byte 1 bit 2       | 1b: Se admite la 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 es compatible tanto con el perfil de la tarjeta (CAP) como con 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, continúe 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 `SIGNATURE` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando la firma.
   * Si es falso, no existe ningún CVM comúnmente compatible. Es posible que el terminal requiera verificación POS o rechace 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 CAP admite CDCVM y si se requiere CVM (`TTQ Byte 2 bit 7 == 1b`).
   * Si es verdadero, continúe para autenticar la transacción de alto valor.
   * Si CAP admite CDCVM pero no se requiere CVM (`TTQ Byte 2 bit 7 == 0b`), continúe con la transacción de bajo valor.
   * Si CAP no admite CDCVM, continúe el procesamiento del pago usando `CARD_LIKE`.
3. Compruebe si se requiere CVM (`TTQ Byte 2 bit 7 == 1b`).
   * Si es falso, continúe 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 `SIGNATURE` es comúnmente compatible.
   * Si es verdadero, continúe el procesamiento del pago usando la firma.
   * Si es falso, no existe ningún CVM comúnmente compatible. Es posible que el terminal requiera verificación POS o rechace 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.
