2016-05-08 9 views
1

Ich versuche Stripe Checkout in einem WebView zu verwenden (sowohl in Android als auch in iOS). Wenn ich den Demo-Checkout in diesem page von Google Chrome von Mobile ausführen, öffnet es eine neue Webseite und alles funktioniert gut.Stripe Checkout funktioniert nicht mit WebView

Wenn ich versuche, die Demo von einem WebView zu laufen (was ich in einer ganz ähnlichen Weise verhalten erwarten) ist es nicht und ich dachte

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

gibt mir funktioniert, dass es für mobile nicht gemacht , aber das ist nicht wahr, weil von Google Chrome völlig in Ordnung ist. Irgendwelche Vorschläge, damit es funktioniert?

+0

Stripe Kasse unterstützen überhaupt nicht Webviews. Sie müssen stattdessen Ihr eigenes Zahlungsformular erstellen, indem Sie Stripe.js verwenden: https://stripe.com/docs/stripe.js und https://stripe.com/docs/tutorials/forms – koopajah

+0

Ich habe diese Entscheidung nicht vollständig verstanden Warum wird es in einem mobilen Webbrowser wie Google Chrome unterstützt und auf einer einfachen Webansicht nicht? Gleicher Bildschirm, gleiche Höhe, gleiche Breite ... – madx

+0

Weil Webviews ihre eigene Browser-Implementierung sind, ist es nicht genau Chrome oder Firefox usw. Daher unterstützt Stripe überhaupt keine Webviews für Checkout. Sie sollten Ihr eigenes Zahlungsformular erstellen. – koopajah

Antwort

0

Dies ist die einzige Art, wie ich mit Stripe Checkout auf WebViews arbeiten verwaltet (I verwendet Xamarin):

  1. installieren Plugin.Share von nuget (Projekt, newget Pakete sowohl in gemeinsamen und spezifischen mobilen Projektordner hinzufügen)
  2. diesen Code auszuprobieren, die Kasse zu sehen, funktioniert gut:

    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. Führen Sie das Projekt auf einem Gerät

  4. Klicken Sie auf "Klicken Sie auf mich!" Taste
  5. Klicken Sie auf "Bezahlen mit Karte" Taste auf der Webview

Filling FormChecking out

Verwandte Themen