android - Stripe 结帐不适用于 WebView

标签 android ios webview stripe-payments

我正在尝试使用 Stripe Checkout在 WebView 内(在 Android 和 iOS 中)。
如果我在 page 中运行演示结帐来自 Google Chrome从移动它打开一个新网页,一切正常。

当我尝试从 WebView 运行演示时(我希望以完全相似的方式运行)它不起作用并给了我一个

Sorry, there was a problem loading Checkout.
If this persists, please try a different browser.

我认为它不是为移动设备设计的,但事实并非如此,因为谷歌浏览器运行良好。
有什么建议可以让它发挥作用吗?

最佳答案

这是我设法使用 Stripe Checkout 的唯一方法在 webviews 上(我使用 Xamarin):

  • 安装 Plugin.Share来自 nuget (项目,在共享和特定移动项目文件夹中添加 newget 包)
  • 试试这段代码,看看结帐工作正常:
    using System;
    
    using Xamarin.Forms;
    using Plugin.Share;
    using Plugin.Share.Abstractions;
    
    namespace stripewebviewtest
    {
        public class App : Application
        {
            public App ()
            {
                Button btn = new Button ();
                btn.Text = "Click on me!";        
    
                // The root page of your application
                MainPage = new ContentPage {
                    Content = new StackLayout {
                        VerticalOptions = LayoutOptions.Center,
                        Children = {
                            new Label {
                                XAlign = TextAlignment.Center,
                                Text = "Welcome to Xamarin Forms!"
                            },
                            btn
                        }
                    }
                };
    
                btn.Clicked += (object sender, EventArgs e) => {
                    var url = "https://stripe.com/docs/checkout";
                    CrossShare.Current.OpenBrowser (url, new BrowserOptions {
                        ChromeShowTitle = true,
                        ChromeToolbarColor = new ShareColor {
                            A = 255,
                            R = 118,
                            G = 53,
                            B = 235
                        },
                        UseSafairReaderMode = false,
                        UseSafariWebViewController = false
                    });
                };
            }
    
            protected override void OnStart ()
            {
                // Handle when your app starts
            }
    
            protected override void OnSleep ()
            {
                // Handle when your app sleeps
            }
    
            protected override void OnResume ()
            {
                // Handle when your app resumes
            }
        }
    }
    
  • 在设备上运行项目
  • 点击“点击我!”按钮
  • 点击Webview上的“刷卡支付”按钮

  • Filling FormChecking out

    关于android - Stripe 结帐不适用于 WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37104583/

    相关文章:

    ios - 多任务处理时工具栏是动画的

    c# - 不要破坏负载

    android - 如何在 Android 上将自定义 View 居中?

    ios - 更改发送消息栏的颜色(JSQMessagesViewController)

    javascript - Android 上 Web Worker 的替代方案

    android - 将 WebView 显示为 AlertDialog 内容

    java - 在两个 Android 应用程序之间共享数据

    android - 无法在 VideoView 上播放此视频

    iphone - 如何强制 View 呈现自身?

    播放视频流时,iOS 将在 iPhone XS 上重启(iOS 12.0.1)