Comprobar la elegibilidad de la tarjeta
Última actualización
¿Te fue útil?
¿Te fue útil?
// Obtenga el controlador del servicio de inscripción
MGCardEnrollmentService enrollmentService =
MobileGatewayManager.INSTANCE.getCardEnrollmentService();
// Construya los datos del instrumento a partir de los datos cifrados de la tarjeta y la clave pública
InstrumentData instrumentData =
new InstrumentData.EncryptedCardDataBuilder(encryptedCardInfo)
.publicKeyIdentifier(pubKey)
.build();
// Construya los datos de elegibilidad
EligibilityData eligibilityData =
new EligibilityData.Builder(InputMethod.BANK_APP, "en").build();
// Invocar la elegibilidad con el listener CardEligibilityListener
enrollmentService.checkEligibility(eligibilityData, instrumentData, new CardEligibilityListener() {
@Override
public void onSuccess(TermsAndConditions termsAndConditions, IssuerData issuerData) {
// Si la tarjeta es elegible, obtenga los T&C
String tncContent = termsAndConditions.getContent();
ContentType tncContentType = termsAndConditions.getContentType();
// Guarde y muestre los T&C.
// Recopile la aceptación antes de llamar a digitizeCard(...).
}
@Override
public void onError(MobileGatewayError error) {
// La tarjeta no es elegible, o la solicitud falló.
// Compruebe el motivo del error y decida si reintentar o detener el flujo.
}
});final String type = "pushAccountReceipt"; // Constante
final String scheme = "MASTERCARD"; // Solo compatible con Mastercard / MDES
String payload = "..."; // Carga útil recibida de la aplicación del emisor
// Construya los datos del instrumento a partir del comprobante push del emisor
InstrumentData instrumentData =
new InstrumentData.IssuerPushReceiptBuilder(scheme, type, payload).build();// Obtenga el pushSessionId generado por el backend de NFC Wallet
String pushSessionId = "....";
// Obtenga el controlador del servicio de inscripción
MGCardEnrollmentService enrollmentService =
MobileGatewayManager.INSTANCE.getCardEnrollmentService();
// Invocar la elegibilidad de la tarjeta
enrollmentService.checkEligibility(eligibilityData, pushSessionId, new CardEligibilityListener() {
@Override
public void onSuccess(TermsAndConditions termsAndConditions, IssuerData issuerData) {
// Si la tarjeta es elegible, obtenga los T&C
String tncContent = termsAndConditions.getContent();
ContentType tncContentType = termsAndConditions.getContentType();
// Guarde y muestre los T&C.
// Recopile la aceptación antes de llamar a digitizeCard(...).
}
@Override
public void onError(MobileGatewayError error) {
// La tarjeta no es elegible, o la solicitud falló.
}
});// A partir de la elegibilidad: recupere TermsAndConditions.
// Renderice termsAndConditions.getContent() según termsAndConditions.getContentType().
// Luego, después de la aceptación del usuario final:
TermsAndConditionSession tncSession = termsAndConditions.accept();