payWithRemit2Any method
Future<Map<String, dynamic> ?>
payWithRemit2Any(
- BuildContext context, {
- required String sessionId,
Opens the Pay with Remit2Any flow using a payment session ID Returns event data when webview closes.
sessionId - The payment session ID from Remit2Any Pay API
Returns:
{'event': 'onPaymentComplete', 'data': {...}}- User lands on success/failure page{'event': 'onPaymentCancelled', 'data': {...}}- User clicks "Back to Payment" on error{'closed': true}- User manually closes the webview
Implementation
Future<Map<String, dynamic>?> payWithRemit2Any(
BuildContext context, {
required String sessionId,
}) async {
if (sessionId.isEmpty) {
debugPrint('[PayWithRemit2Any] Error: sessionId is empty');
throw ArgumentError('sessionId cannot be empty');
}
final paymentUrl =
Remit2AnyEnvironmentConfig.buildPaymentUrl(sessionId.trim());
debugPrint('[PayWithRemit2Any] Opening payment URL: $paymentUrl');
final data = await Navigator.of(context).push<Map<String, dynamic>>(
MaterialPageRoute(
builder: (_) => WebViewPaymentPage(
paymentUrl: paymentUrl,
),
),
);
debugPrint('[PayWithRemit2Any] WebView closed with data: $data');
return data;
}