triggerCustomEventSync method

  1. @override
Future<GenericResponse<TransactionSubmitResult>> triggerCustomEventSync(
  1. String eventName,
  2. HashMap<String, dynamic> args,
  3. RequestConfig config
)
override

Implementation

@override
Future<GenericResponse<TransactionSubmitResult>> triggerCustomEventSync(
  String eventName,
  HashMap<String, dynamic> args,
  RequestConfig config,
) async {
  try {
    final result = await methodChannel.invokeMethod<String>('triggerCustomEventSync', {
      'eventName': eventName,
      'args': args,
      'timeout': config.getTimeout(),
    });
    final Map<String, Object?> jsonData = json.decode(result!);
    final Map<String, Object?> data = jsonData["data"] as Map<String, dynamic>;

    if (data.containsKey('fraud')) {
      data['fraudDetail'] = data['fraud'];
      data.remove('fraud');
    }

    if (data.containsKey('compliance')) {
      data['complianceDetail'] = data['compliance'];
      data.remove('compliance');
    }

    return GenericResponse.fromJson(jsonData, (v) => TransactionSubmitResult.fromJson(v as Map<String, dynamic>));
  } catch (e, s) {
    debugPrintStack(label: e.toString(), stackTrace: s);
    rethrow;
  }
}