payWithEasebuzz method
Implementation
@override
Future<Map<String, dynamic>?> payWithEasebuzz(
String accessKey,
String payMode,
) async {
// Existing implementation
final completer = Completer<Map<String, dynamic>?>();
void onResponse(dynamic response) {
try {
final responseMap = jsObjectToMap(response);
if (!completer.isCompleted) {
completer.complete(responseMap);
}
} catch (e) {
if (!completer.isCompleted) {
completer.completeError('Error parsing response: $e');
}
}
}
try {
final easebuzzCheckout = callConstructor(
getProperty(web.window, 'EasebuzzCheckout'),
[accessKey, payMode],
);
final options = jsify({
'access_key': accessKey,
'onResponse': allowInterop(onResponse),
'theme': '#123456',
});
callMethod(easebuzzCheckout, 'initiatePayment', [options]);
} catch (e) {
if (!completer.isCompleted) {
completer.completeError('Error initiating payment: $e');
}
}
return completer.future;
}