繁体   English   中英

Flutter webview PayPal intergation 错误?

[英]Flutter webview PayPal intergation error?

我想像这样集成 PayPal 按钮: https : //developer.paypal.com/demo/checkout/#/pattern/client

我将此示例代码放在一个 HTML 文件 ( assets/paypal.html ) 中,并从资产中读取到 WebView:

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: WebView(
        javascriptMode: JavascriptMode.unrestricted,
        onWebViewCreated: (WebViewController webViewController) {
          _controller = webViewController;
          _loadHtml();
        },
      ),
    );
  }

  void _loadHtml() async {
    String fileText = await rootBundle.loadString('assets/paypal.html');
    _controller!.loadUrl(Uri.dataFromString(fileText, mimeType: 'text/html', encoding: Encoding.getByName('utf-8')).toString());
  }

但我收到此错误(未捕获错误:按钮的引导错误):

[INFO:CONSOLE(2)] "insertPPTM [object Object]", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "Uncaught Error: Bootstrap Error for buttons:

Can not read window host

Error: Can not read window host
    at j (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:18528)
    at B (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:18625)
    at zt (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:58764)
    at Cu (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:288789)
    at Object.__get__ (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:288874)
    at o (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:291801)
    at https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:291984
    at Module.<anonymous> (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:292214)
    at t (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:157)
    at https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:941", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "Uncaught Error: Bootstrap Error for common:

Can not read window host

Error: Can not read window host
    at j (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:18528)
    at B (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:18625)
    at zt (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:58764)
    at Iu (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:289405)
    at Object.__get__ (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:289453)
    at o (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:291801)
    at https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:291984
    at Module.<anonymous> (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:292214)
    at t (https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:157)
    at https://www.paypal.com/sdk/js?client-id=test&currency=USD:2:941", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "unhandled_error [object Object]", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "unhandled_error [object Object]", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "Uncaught Error: Can not read window host", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2) [INFO:CONSOLE(2)] "Uncaught Error: Can not read window host", source: https://www.paypal.com/sdk/js?client-id=test&currency=USD (2)

我尝试了 2 个 flutter WebView 插件,同样的错误( webview_flutter 2.0.10 , flutter_webview_plugin 0.4.0

正如文档所解释的那样,无法从 webviews 中使用 PayPal。

不要使用 WebView 在您的应用程序中显示 PayPal 网页

您的应用程序不得使用 WebView 或类似的自定义浏览器机制来显示 PayPal 网页。 相反,使用适当的 PayPal SDK 来管理 PayPal 体验或在系统浏览器或批准的浏览器查看机制(例如 iOS 上的 Safari View Controller 或 Android 上的 Chrome 自定义选项卡)中启动 PayPal 网页。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM