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.

Android

Paso 1: Mostrando el botón Agregar a Wallet

Su aplicación emisora utiliza el SDK de Push Provisioning para comprobar si la xPay Wallet de destino es compatible con el dispositivo y si ya existe un token para la tarjeta. Según el resultado, muestra u oculta el Agregar a Wallet botón.

Siga estas directrices de marca de billetera para usar Agregar a Wallet en su aplicación emisora:

Usando los últimos cuatro dígitos del PAN, la aplicación emisora puede recuperar el token de una tarjeta que ya está provisionada en una wallet del dispositivo (Samsung Pay y Google Pay para Android).

Cada token incluye:

  • El ID del token.

  • Los últimos cuatro dígitos de la tarjeta digital (DPAN).

  • El estado del token (estado de digitalización).

OEMPayType type = OEMPayType.GOOGLE_PAY; // o OEMPayType.SAMSUNG_PAY
GetTokenInput input = new GetTokenInput("1234"); // últimos cuatro dígitos de la tarjeta física (FPAN)
PushProvisioning pushProvisioning = TPCManager.getInstance().getPushProvisioning(type);
pushProvisioning.getToken(input, new TPCSDKListener<Token>() {
    @Override
    public void onStart() {
    }
    @Override
    public void onSuccess(TPCResult<Token> result) {
        //El token puede recuperarse usando result.getResult().
        //result.getResult() devolverá null si la wallet OEM no tiene un token correspondiente.
        //El estado del token se usa como sigue:
        if(result.getResult()==null || TextUtils.isEmpty(result.getResult().getState())){
            //La API no devolvió un token.
            //Muestra el botón "Agregar a GPay/SPay".
        }else{
            Token token = result.getResult();
            if(type==OEMPayType.GOOGLE_PAY){
                //Para Google Pay.
                try {
                    int tokenState = Integer.parseInt(token.getState());
                    switch (tokenState){
                        case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION:
                            // Consulte la gestión del ciclo de vida del token para la acción Activar.
                            // la tarjeta está pendiente de ID&V. 
                            break;
                        case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_PENDING:
                        case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_SUSPENDED:
                        case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_ACTIVE:
                            //La tarjeta ya está añadida.
                            break;
                        case CardDigitizationStatus.GOOGLE_PAY_TOKEN_STATE_UNTOKENIZED:
                            //Mostrar el botón "Agregar a GPay".
                            break;
                    }
                } catch (NumberFormatException e) {
                    //Gestiona la excepción.
                }
            }else if(type==OEMPayType.SAMSUNG_PAY){
                //Para Samsung Pay.
                String tokenState = token.getState();
                switch (tokenState){
                    case CardDigitizationStatus.SAMSUNG_PAY_PENDING_PROVISION:
                        // Consulte la gestión del ciclo de vida del token para la acción Activar.
                        // la tarjeta está pendiente de ID&V
                        break;
                    case CardDigitizationStatus.SAMSUNG_PAY_ACTIVE:
                    case CardDigitizationStatus.SAMSUNG_PAY_EXPIRED:
                    case CardDigitizationStatus.SAMSUNG_PAY_PENDING_ENROLLED:
                    case CardDigitizationStatus.SAMSUNG_PAY_SUSPENDED:
                    case CardDigitizationStatus.SAMSUNG_PAY_PENDING_ACTIVATION:
                        //La tarjeta ya está añadida.
                        break;
                    case CardDigitizationStatus.SAMSUNG_PAY_DISPOSED:
                        //Muestra el botón "Agregar a SPay".
                        break;
                }
            }
        }
    }
    @Override
    public void onError(TPCSDKException exception) {
        // específico para Samsung Pay
        Throwable exceptionCause = exception.getCause();
        if (exceptionCause != null && exceptionCause instanceof TPCSpayException) {
            // obtener más detalles del error para Samsung Pay
            TPCSpayException spayException = (TPCSpayException) exceptionCause;
        }
    }
});

Para Google Pay, el estado del token es el siguiente:

Estado de Google Pay
Descripción

GOOGLE_PAY_TOKEN_STATE_NEEDS_IDENTITY_VERIFICATION

La tarjeta está digitalizada, pendiente de ID&V.

GOOGLE_PAY_TOKEN_STATE_PENDING

La tarjeta está digitalizada.

GOOGLE_PAY_TOKEN_STATE_SUSPENDED

La tarjeta está digitalizada.

GOOGLE_PAY_TOKEN_STATE_ACTIVE

La tarjeta está digitalizada.

GOOGLE_PAY_TOKEN_STATE_UNTOKENIZED

La tarjeta no está digitalizada.

CARD_IS_NOT_DIGITIZED

La tarjeta no está digitalizada.

Para Samsung Pay, el estado del token es el siguiente:

Estado de Samsung Pay
Descripción

SAMSUNG_PAY_PENDING_PROVISION

La tarjeta está digitalizada, pendiente de ID&V.

SAMSUNG_PAY_ACTIVE

La tarjeta está digitalizada.

SAMSUNG_PAY_EXPIRED

La tarjeta está digitalizada.

SAMSUNG_PAY_PENDING_ENROLLED

La tarjeta está digitalizada.

SAMSUNG_PAY_PENDING_ACTIVATION

La tarjeta está digitalizada.

SAMSUNG_PAY_SUSPENDED

La tarjeta está digitalizada.

SAMSUNG_PAY_DISPOSED

La tarjeta no está digitalizada.

exclamation-circle

Precaución

  • Para Google Pay, si la tarjeta aún aparece como NO_DIGITIZADA después de la digitalización, compruebe que la aplicación emisora está configurada correctamente en el portal TSP.

  • Para Samsung Pay, algunos emisores deben registrar múltiples NOMBRE DEL EMISOR valores en el portal. Esto depende de la aplicación emisora y/o de los requisitos del TSP. Asegúrese de que el NOMBRE DEL EMISOR valor en la API coincide con el valor registrado en el portal. La API devuelve sólo coincidencias exactas.

  • El getToken La API no es compatible con Huawei Pay. Use isCardDigitized para comprobar el estado de digitalización.

Paso 2: Provisionar una solicitud

En Android, el resultado de éxito varía según OEMPayType. Para Google Pay, el SDK devuelve un ID de token. Para Samsung Pay, devuelve un Card objeto. Para Huawei Pay, devuelve un booleano.

info-circle

Nota

Desde TPC SDK v1.9.0, el push provisioning de Google Pay puede usar la nueva API: addCard(Activity activity, CardInfo cardInfo, TPCSDKListener<T> listener).

Última actualización

¿Te fue útil?