2016-07-25 9 views
2

Hat jemand erfolgreich die PayPal Express Checkout API in eine AngularJS Web App integriert? Ich habe versucht, die "in-context" integration steps in meine eckige Seite anzupassen; es funktioniert jedoch nur einmal ordnungsgemäß.Paypal Express Checkout mit AngularJS

Mein Szenario ist folgende:

  • Ich habe den Paypal-Button auf einer Seite
  • Durch Klicken auf die Paypal-Button ruft paypal.checkout.initXO(), und macht dann einen serverseitigen Aufruf eine Express-Checkout-Token
  • zu erzeugen Wenn der Anruf zurückkehrt, gebe ich das Token in paypal.checkout.startFlow(tokenFromServer)
  • Die PayPal-API erstellt ein Popup und sammelt meine PayPal-Kontoinformationen
  • Der Browser g Je nachdem, was ich beim Erstellen des Express-Checkout-Tokens serverseitig eingerichtet habe, navigierte ich zu meiner Bestätigungsseite.

Wie ich oben sagte, funktioniert das gut einmal; Die PayPal-API navigiert den Browser genau wie erwartet zu meiner Bestätigungsseite. Nachfolgende Versuche, die Express-Checkout-API zu verwenden, navigieren jedoch nicht durch den Browser, nachdem sie das Paypal-Popup-Fenster beendet haben. Das Aktualisieren des Browsers ermöglicht es mir, Express-Checkout einmal wieder zu verwenden.

Ich sehe keine Fehler in der Javascript-Konsole.

+2

Downwoters: Kommentare? – FMM

+0

Sie sollten wahrscheinlich ein bisschen mehr von Ihrem Code zeigen. – sventechie

Antwort

0

In der Zwischenzeit habe ich dies den ui.router Zustand zugegeben, dass der Startpunkt meines „Kauf“ Workflow ist:

zu diesem Zustand
.state("example.buy.the.thing", { 
    url: "/buy", 
    templateUrl: "path/to/my/template.html", 
    controller: ["$window", ($window) => { 
     if ($window.needsPaypalRefresh) { 
      $window.location.reload(); 
     } 
     $window.needsPaypalRefresh = true; 
    }] 
}) 

Es aktualisiert die Seite bei zukünftigen Besuch, die die PayPal setzt API. Es klappt. Es ist hässlich, aber es funktioniert.