Android
Paso 1: Mostrando el botón Agregar a Wallet
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;
}
}
});Estado de Google Pay
Descripción
Estado de Samsung Pay
Descripción
Precaución
Paso 2: Provisionar una solicitud
Nota
Última actualización
¿Te fue útil?