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:
Huawei Pay La compatibilidad solo está disponible para esquemas nacionales.
Advertencia
Huawei Pay no es compatible con las redes de pago internacionales (por ejemplo, Mastercard y Visa). Solo nacionales pueden ser compatibles en casos específicos. Consulte con Thales las condiciones de uso.
A partir del 10 de junio de 2024, Google Wallet requiere Android 9 o superior.
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:
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:
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.
Precaución
Para Google Pay, si la tarjeta sigue apareciendo como
NOT_DIGITIZEDdespué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 EMISORvalores en el portal. Esto depende de la aplicación del emisor y/o de los requisitos del TSP. Asegúrese de que elNOMBRE DEL EMISORvalor de la API coincida con el valor registrado en el portal. La API solo devuelve coincidencias exactas.El
getTokenAPI no es compatible con Huawei Pay. UseisCardDigitizedpara 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.
Samsung Pay
Card
Google Pay
GoogleProvisioningResult
Huawei Pay
Boolean
Última actualización
¿Te fue útil?