2016-06-09 11 views
4

Ich versuche, PayPal in-context checkout unter AngularJS App zu integrieren. Alles funktioniert wie erwartet:Paypal im Kontext Checkout - Seitenumleitung verhindern

  1. Via REST API ich alle Details senden und erhalten Kasse TOKEN
  2. Dann TOKEN an die Client-Anwendung übergeben wird
  3. In-Kontext Kasse mit bestimmten TOKEN genannt wird

Jetzt frage ich mich , wenn es eine Möglichkeit gibt, die Seite nach dem erfolgreichen oder abgebrochenen Szenario zu verhindern. Hier

ist das Stück Code in Client-Anwendung:

<button id="t2" type="submit">Pay</button> 
 

 
<script> 
 
    window.paypalCheckoutReady = function() { 
 
    paypal.checkout.setup("API_CREDENTIALS", { 
 
     environment: "sandbox", 
 
     button: ["t2"], 
 
     click: function (event) { 
 
     
 
     event.preventDefault(); 
 
     //init lightbox modal 
 
     paypal.checkout.initXO(); 
 
     
 
     //start checkout flow 
 
     paypal.checkout.startFlow(TOKEN); 
 
     } 
 
    }); 
 
    }; 
 
</script> 
 

 
<script src="//www.paypalobjects.com/api/checkout.js" async=""></script>

+0

ich weiß nicht, die Besonderheiten Ihrer Seite. Ist es für Sie möglich, den Benutzer auf dieselbe Seite umzuleiten, auf der er sich gerade befindet? (Ich habe dies für soziale Logins getan). Wenn Daten in diesem Prozess verloren gehen, können Sie sie möglicherweise in Sitzungscookies speichern. – zevnicsca

+0

@zevnicsca Ja, es funktioniert jetzt mit Umleitung. Meine einzige Bitte wäre, jede Art von Umleitung zu vermeiden - nur wegen einer Sache - Benutzererfahrung. Also muss ich wissen, wann das Paypal-Skript fertig ist und wie es gemacht wird (Erfolg oder Fehler) und den Rest des Routings mit Angular erledigen. – nidzix

+0

Können Sie angeben, wie Sie die Benutzererfahrung mit Angular Routing steuern möchten? Im Wesentlichen ist die Umleitung bei Express Checkout erforderlich, da Sie die Zahlung auf Ihrer Rückgabeseite ausführen müssen, dh das In-Kontext-Popup-Erlebnis bietet nur Benutzerautorisierung/Zustimmung für die Zahlung. –

Antwort

0

Die JS basierte In-Context Pop-up einfach eine Front-End-Erfahrung bietet und macht Teil der Zahlung Sequenz, wie unten beschrieben,

  1. In-Kontext Pop-up und Interaktion mit dem Benutzer (Zustimmung auf Zahlung geben)
  2. Pop-up Auto geschlossen (gesteuert durch checkout.js, ab sofort) und Browser-Umleitung auf Ihre Desinated Rückkehr Seite
  3. Anruf execute API in Ihrer Rückkehr Seite die Zahlung
  4. Webhooks ausgelöst abzuschließen (Ihre Website über die Transaktion zu informieren Status)

Was Sie versuchen, ist das Verhalten zwischen # 2 und # 3 zu unterbrechen, die in der Mitte des Zahlungsflusses ist, in der Anpassung, die Sie sehen können Ihr redirect_urls Objekt in der API ist die Definition Payload von PAY Methode (die Sie verwenden, um Zahlungstoken zu generieren), mit return_url mit Ihrer Routing-Logik (durch Kombination von URL- und String-Abfragen), um Ihren Kunden entsprechende Inhalte auf der Bestellbestätigungsseite anzuzeigen (Schritt 3)

Gleiche Regel in cancel_url, wenn Ihre Kunden das Popup-Fenster abbrechen/schließen (Schritt # 2)

"redirect_urls": { 
"return_url": "http://www.return.com/routing/?stringQuery", 
"cancel_url": "http://www.cancel.com/routing/?stringQuery" 
} 

Nur sicher sein, die execute Anruf in Ihrer Rückkehr Seite aufzurufen, danach

Verwandte Themen