payWithRemit2Any method

Future<Map<String, dynamic>?> payWithRemit2Any(
  1. BuildContext context, {
  2. 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;
}