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.

Aprovisionamiento push

Paso 1: Mostrar el botón Añadir a la cartera

Su aplicación del emisor usa el SDK de Push Provisioning para comprobar si la cartera xPay de destino es compatible con el dispositivo y si ya existe un token para la tarjeta. Según el resultado, muestra u oculta el Añadir a la cartera botón.

Siga estas directrices de marca de la cartera para usar Añadir a la cartera en su aplicación del emisor:

Usando los últimos cuatro dígitos del PAN, la aplicación del emisor puede recuperar el token de una tarjeta que ya está aprovisionada en una cartera 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 cartera OEM no tiene un token correspondiente.
        // El estado del token se usa de la siguiente manera:
        if(result.getResult()==null || TextUtils.isEmpty(result.getResult().getState())){
            // La API no devolvió un token.
            // Muestra el botón "Añadir 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:
                            // Muestra el botón "Añadir 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 "Añadir a SPay".
                        break;
                }
            }
        }
    }
    @Override
    public void onError(TPCSDKException exception) {
        // específico de Samsung Pay
        Throwable exceptionCause = exception.getCause();
        if (exceptionCause != null && exceptionCause instanceof TPCSpayException) {
            // obtener más detalles del error de 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 y 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 y 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 sigue apareciendo como NOT_DIGITIZED después de la digitalización, compruebe que la aplicación del emisor 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 del emisor y/o de los requisitos del TSP. Asegúrese de que el NOMBRE DEL EMISOR valor de la API coincida con el valor registrado en el portal. La API solo devuelve coincidencias exactas.

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

Paso 2: Aprovisionar una solicitud

En Android, el resultado correcto varía según OEMPayType. Para Samsung Pay, devuelve un Card objeto. Para Huawei Pay, devuelve un Boolean. Para Google Pay, el SDK 2.0.0 y posteriores devuelven un GoogleProvisioningResult, que contiene el ID del token cuando está disponible.

Cartera
Resultado correcto

Samsung Pay

Card

Google Pay

GoogleProvisioningResult

Huawei Pay

Boolean

Última actualización

¿Te fue útil?