2013-06-24 2 views
5

Ist es möglich, den Payflow vollständig inline zu starten (a la Express Checkout)? Wie?Adaptive Zahlungen ohne Modal Box oder Popups?

Wir verwenden verkettete Zahlungen, und alles funktioniert auf Nicht-iOS-Mobilgeräten (und in Chrome für iOS), aber wir erstellen eine Webanwendung, damit diese auf Smartphones funktioniert. Testen auf dem iPhone, haben wir this Problem mit PayPal-Code, den ich bereits gefragt habe, sowie die Tatsache, dass, wenn ich um diesen Fehler, indem Sie eine location.replace mit der URL zu PayPal (oder Laden in einem Leuchtkasten von meinem eigenen Entwurf), iOS und mobile Safari das "Log In" Popup (ohne dem Benutzer die Möglichkeit zu geben, es anzuzeigen, wenn sie dies wünschen) zu töten.

Kurz gesagt, gibt es eine Möglichkeit, Adaptive Payments ohne lächerliche Popups der 1990er Jahre zu verwenden ???

+1

Wenn es ein Weg, um das modale Feld oder Pop-ups auf iOS-Geräten zu vermeiden, ich habe es nicht gefunden. Ich musste den Mini-Flow für iOS-Geräte integrieren, was allerdings mit den Popups funktioniert. – Alex

Antwort

2

Hier geht es um den mobilen Web-Flow von PayPal. Ich teste Android und es funktioniert gut. Der einzige Haken ist die CallbackFunction, die nicht in mobilen Browsern ausgelöst wird und in Desktop-Browsern funktioniert. (Ich arbeite immer noch an diesem Teil. Lassen Sie es mich wissen, wenn Sie es lösen.) Hier ist ein Beispiel, wie man es mit expType = mini macht, um die Erfahrung mit dem PayPal-Mini-Browser zu starten.

Zuerst sind die Javascript für den Mini Flow:

<script src="http://www.paypalobjects.com/js/external/apdg.js"></script> 

dann einen Link, um die Umleitung zu starten:

<a id="payPalRedirect" href="https://www.sandbox.paypal.com/webapps/adaptivepayment/flow/pay?paykey={paykey}&expType=mini" target="_blank">Complete PayPal Payment</a> 
<br /><br /> 
<div id="resultDiv"></div> 

und einige Javascript, um den Mini-Flow-Prozess und den callback zu initiieren:

 var returnFromPayPal = function() { 
      alert("Returned from PayPal"); 
      var div = document.getElementById('resultDiv'); 
      div.innerHTML = "Returned from PayPal!"; 
      // Here you would need to pass on the payKey to your server side handle to call the PaymentDetails API to make sure Payment has been successful or not 
      // based on the payment status- redirect to your success or cancel/failed urls 
     } 
     var dgFlowMini = new PAYPAL.apps.DGFlowMini({ trigger: 'payPalRedirect', expType: 'mini', callbackFunction: 'returnFromPayPal' }); 

Weitere Einblicke und Lösungsoptionen für dieses Problem finden Sie hier:

Paypal Embedded Flow not using returnUrl or cancelUrl

+2

Wir waren tatsächlich in der Lage, das Problem zu lösen, nach dem Popup/Modal wieder auf unsere Seite zu gelangen, es war nur ein iOS Safari/Webapp Glitch, den wir aufgelegt hatten. Es endete damit, dass es so schlecht war und die Unterstützung von PayPal so wenig hilfreich war (wir verbrachten Stunden am Telefon), dass wir schließlich den Bereich Adaptive Payments aufgegeben haben und unser Geschäftsmodell grundlegend verändert haben. Hier ist unsere alte Lösung, um das PayPal-Fenster zu schließen, ich hoffe, es ist von Nutzen für dich: http://pastebin.com/Dt0kDjGs –

+0

@James hast du am Ende damit angefangen zu arbeiten? Ich verwende Adaptive/Chained-Zahlung in iOS und Android mit Webview, aber mit den Standard-Webseiten, die nicht für Mobilgeräte geeignet sind. Bevor Sie Zeit für die Umstellung auf den Embedded Payment Flow aufwenden, wäre es toll zu wissen, ob es tatsächlich funktioniert oder nicht? – Heinrich

+1

Ich kann mich nicht erinnern, dass dies in mobilen Browsern funktioniert. Am Ende habe ich diese Funktionalität abgeschlossen, als ich den HTML5-Prototyp in eine native App umwandelte. – James