Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

1. Implementar el servicio HCE

Descripción general

NFC Wallet SDK admite la emulación de tarjeta host de Android (HCE). Permite la emulación de tarjetas NFC e intercambiar APDU con un terminal POS a través de NFC.

Para obtener más detalles, consulte la documentación de Android: Descripción general de la emulación de tarjeta basada en host.

Para continuar, primero implemente un servicio HCE como se describe en esta sección.

Después de registrar el servicio, verifique que aparezca en Toque y paga en la configuración de Android.

Integración del SDK

Extienda AsyncHCEService

Para gestionar pagos sin contacto, habilite el procesamiento de APDU extendiendo AsyncHCEService.

No necesita anular ningún método.

Use las anulaciones solo si desea registrar o personalizar el manejo de APDU.

public class MyHCEService extends AsyncHCEService {

    // Anular 'processCommandApdu' es opcional
    // La aplicación de billetera digital puede capturar el tiempo de procesamiento de APDU.
    @Override
    public byte[] processCommandApdu(byte[] inputApdu, Bundle bundle) {
        // Devuelve el valor del SDK (siempre 'null').
        // El procesamiento de APDU es asíncrono.
        // El SDK envía automáticamente la APDU de respuesta al terminal POS.
        return super.processCommandApdu(inputApdu, bundle);
    }

    // Anular 'onApduResponse' es opcional
    // La aplicación de billetera digital puede inspeccionar o anular la APDU de respuesta.
    @Override
    public boolean onApduResponse(final byte[] inputApdu, final Bundle extras, final byte[] responseApdu){
        // La aplicación de billetera digital puede registrar responseApdu.

        // Si desea anular la respuesta y contestar al terminal POS:
        // 1. modifique responseAPDU
        // 2. sendResponseApdu(modifiedResponseApdu);
        // 3. return true; indica al SDK que la respuesta ya se envió.

        // De lo contrario, devuelva false y deje que el SDK envíe responseApdu.
        return false;
    }
}

NFC Wallet SDK suspende el procesamiento de APDU cuando se requiere autenticación.

El procesamiento de APDU se reanuda después de que la autenticación se realiza correctamente, se aborta o se desactiva el servicio HCE.

Registre el servicio en AndroidManifest.xml

Registre su servicio HCE (la clase que extiende AsyncHCEService) como HOST_APDU_SERVICE en su manifiesto.

Cree apduservice.xml en res/xml para declarar los AID compatibles.

Declare los AID compatibles

Cree apduservice.xml en res/xml.

Declare el AID de PPSE y los AID de red de pago que admite.

En el ejemplo anterior:

  • El AID de PPSE requerido es:

    • 325041592E5359532E4444463031

  • Los AID de Mastercard son:

    • A0000000041010

    • A0000000043060

    • A0000000042010

  • Los AID de Visa son:

    • A0000000031010

    • A0000000980840

    • A0000000032020

    • A0000000032010

La lista de AID depende de su programa NFC Wallet. Confirme la lista con el representante de su red de pago.

Verificar la configuración de Toque y paga

Después de registrar el servicio HCE en AndroidManifest.xml, aparece en Toque y paga en la configuración de Android.

Para verificar:

  1. Abra Configuración en el dispositivo.

  2. Vaya a Toque y paga.

  3. Confirme que su aplicación aparezca en la lista.

Configuración de Android que muestra la aplicación en la lista bajo Toque y paga.

Última actualización

¿Te fue útil?