۲ امیر آرانی
مشکل url ری‌دایرکت شده
جامعه فلاتر ایجاد شده در ۲۶ شهریور ۱۴۰۱

سلام. وفت به خیر

من وقتی روی دکمه پرداخت اینترنتی کلیک میکنم صفحه webview پرداخت به خوبی باز میشه ولی وقتی اونجا روی دکمه پرداخت کلیک میکنم url صفحه دومی که باز میشه مشکل داره و به جای http کلمه nike نوشته شده.

از دوستان کسی راه حلی برای رفع این مشکل داره؟

WebView(
  initialUrl: bankGetwayUrl,
  javascriptMode: JavascriptMode.unrestricted,
  onPageStarted: (url) {
    final uri = Uri.parse(url);
    if (uri.pathSegments.contains('checkout') &&
        uri.host == 'expertdevelopers.ir') {
      final orderId = int.parse(uri.queryParameters['order_id']!);
      Navigator.of(context).pop();
      Navigator.of(context).push(
        MaterialPageRoute(
          builder: (context) => PaymentReceiptScreen(orderId: orderId),
        ),
      );
    }
  },
);

7ee0-Screenshot_20220917_185903.png

سلام وقت بخیر

کد زیر رو جایگزین کنید ببینید درست میشه؟

return WebView(
  initialUrl: bankGatewayUrl,
  javascriptMode: JavascriptMode.unrestricted,
  onPageStarted: (url) {
    debugPrint('Url: $url');
    final uri =  Uri.parse(url);
    if(uri.pathSegments.contains('appCheckout') && uri.host == 'expertdevelopers.ir'){
      final orderId = int.parse(uri.queryParameters['order_id']!);
      Navigator.of(context).pop();
      Navigator.of(context).push(MaterialPageRoute(builder: (context) => PaymentReceiptScreen(orderId: orderId)));
    }
  },
);
بهترین پاسخ
متین عفتی ۲۶ شهریور ۱۴۰۱، ۱۷:۱۰

سلام.

بله مشکل از شرط اول if بود که باید به جای checkout از appCheckout استفاده میکردم.

تشکر فراوان

امیر آرانی ۳۰ شهریور ۱۴۰۱، ۱۲:۱۲