2016-05-08 3 views
1

Я пытаюсь использовать Stripe Checkout внутри WebView (как в Android, так и в iOS). Если я запустил демо-чек в этом page от Google Chrome с мобильного телефона, он откроет новую веб-страницу, и все будет хорошо.Stripe Checkout не работает в WebView

Когда я пытаюсь запустить демо из WebView (который я ожидал вести себя в совершенно аналогичным образом) он не работает и дает мне

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

Я думал, что это не сделано для мобильных устройств , но это не так, потому что из Google Chrome работает отлично. Любые предложения, чтобы заставить его работать?

+0

нашивки заказ не поддерживает Webviews вообще. Вам нужно создать свою собственную форму оплаты, используя Stripe.js: https://stripe.com/docs/stripe.js и https://stripe.com/docs/tutorials/forms – koopajah

+0

Я не совсем понял этот выбор , почему в мобильном браузере, таком как Google Chrome, поддерживается и на простом веб-просмотре это не так? Тот же экран, та же высота одинаковой ширины ... – madx

+0

Поскольку веб-просмотры - это их собственная реализация браузера, это не совсем Chrome или Firefox и т. Д., Поэтому Stripe не поддерживает Webviews вообще для Checkout. Вы должны создать свою собственную форму оплаты. – koopajah

ответ

0

Это единственный способ, которым я успел поработать с Stripe Checkout на webviews (я использовал Xamarin):

  1. Установка Plugin.Share из nuget (проекта, добавить newget пакетов как в общих и конкретных папках мобильных проектов)
  2. Попробуйте этот код, чтобы увидеть, что проверка работает отлично:

    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 
         } 
        } 
    } 
    
  3. Запустите проект на устройстве

  4. Нажмите «Нажмите на меня!». Кнопка
  5. Нажмите на кнопку «Оплатить с помощью карты» на WebView

Filling FormChecking out

Смежные вопросы