Activar la vinculación con app-to-app
Última actualización
¿Te fue útil?
¿Te fue útil?
@Override
public void onIssuerAuthenticationRequired(IDVSession idvSession) {
// Enviar el método ID&V APP_TO_APP
for (IDVMethod idvMethod : idvSession.getIdvMethods()) {
if (idvMethod.getType().equals(IDVType.APP_TO_APP)) {
idvSession.selectIdvMethod(idvMethod);
}
}
}
@Override
public void onIssuerAuthenticationReady(IDVSession idvSession,
@Nullable OtpActivationStatus status) {
}
@Override
public void onError(TMGClientException exception) {
// Comprobar si hay algún error
int errorCode = exception.getErrorCode();
int errorMessage = exception.getMessage();
}guard let idvSession = VisaService.shared.idvSession else {
// No hay sesión IDV.
return
}
// 1. Mostrar lista de métodos IDV.
do {
let idvMethods = try idvSession.idvMethods
let selectedIdvMethod = idvMethods[0] // el usuario selecciona un método idv app a app
// 2. Enviar el método IDV.
idvSession.selectIDVMethod(selectedIdvMethod) { (result) in
if let otpActivationStatus = result {
} else {
if selectedIdvMethod.type == .appToApp {
let idvType = selectedIdvMethod.type
let requestPayload = selectedIdvMethod.requestPayload
let source = selectedIdvMethod.source
let value = selectedIdvMethod.value
// 3. Iniciar una aplicación.
}
}
}
} catch let error {
// Maneja el error.
}
// 4. La falla en el paso 2, selectIDVMethod, se manejará en completionHandler.
VisaService.shared.completionHandler = { (session, error) in
// 5. Comprobar si es un error de selectIDVMethod.
if let session = session,
let error = error,
error.description == TMGError.invalidIdvMethod.description {
VisaService.shared.idvSession = session
// 6. Reintentar el flujo IDV.
}
}// Obtiene los datos adicionales para app a app.
IDVType idvType = idvMethod.getType();
String requestPayload = idvMethod.getRequestPayload();
String source = idvMethod.getSource();
String value = idvMethod.getValue();let idvType = selectedIdvMethod.type
let requestPayload = selectedIdvMethod.requestPayload
let source = selectedIdvMethod.source
let value = selectedIdvMethod.value@Override
public void onIssuerAuthenticationReady(IDVSession idvSession,
@Nullable OtpActivationStatus status) {
// Activar la vinculación localmente
idvSession.activateBinding(null);
}
@Override
public void onError(TMGClientException exception) {
// Comprobar si hay algún error
int errorCode = exception.getErrorCode();
int errorMessage = exception.getMessage();
}guard let idvSession = VisaService.shared.idvSession else {
// No hay sesión IDV.
return
}
// 1. Llamar a activate después de que el usuario final regrese de la app
idvSession.activateBinding(withValue: nil)
VisaService.shared.completionHandler = { (session, error) in
// 2. Comprobar si activateBinding fue exitoso.
if error == nil {
}
}