Wie ich in meinen obigen Aktualisierungen angegeben habe, sollte der Token-Callback ab dem 6. April 2015 immer vor dem geschlossenen Rückruf ausgelöst werden. Dies bedeutet, dass wir ein Flag setzen können, um anzuzeigen, ob der Token-Callback jemals ausgelöst wurde oder nicht, wodurch wir zwischen den Ereignissen unterscheiden können.
%Vor%Gibt es einen Weg innerhalb des Stripe Checkout-Rückrufs, um festzustellen, wie er ausgelöst wurde?
So habe ich zum Beispiel den folgenden Code, der ausgelöst wird, wenn jemand auf eine Checkout-Schaltfläche klickt:
%Vor%Die Idee hier ist, wenn ich auf die Schließen-Schaltfläche im Zahlungsfenster klicke, oder sobald ich eine Antwort von meinem Server bekomme, verschwindet der Ladebildschirm.
Es scheint jedoch, dass der geschlossene -Rückruf nicht nur ausgelöst wird, wenn jemand die Schließen-Schaltfläche betätigt, sondern auch, nachdem eine Zahlung am Ende von Stripe erfolgreich abgeschlossen wurde, aber bevor mein Ajax-Aufruf abgeschlossen wird.
Als Folge wird der Ladebildschirm vor dem Abschluss des Vorgangs entfernt, was die Benutzer verwirrt. Offensichtlich können Dinge getan werden, um die langsamen Befehle serverseitig zu optimieren, aber ich möchte versuchen, dies auch auf der Client-Seite zu beheben.
Im Grunde muss ich einen Weg finden, zwischen dem Schließen über die Schaltfläche "Abbrechen" und dem Schließen über eine erfolgreiche Zahlung und leider Stripe Checkout-Dokumentation bietet nicht viele Details zu diesem Prozess.
Irgendwelche Vorschläge?
Aktualisierung:
Ich denke, ich habe vielleicht einen Weg gefunden, es zu tun, aber es hängt davon ab, dass der Token-Callback immer vor dem geschlossenen Callback stattfindet.
Im Grunde habe ich nur ein Flag gesetzt, das anzeigt, ob der Token Callback ausgelöst wurde.
%Vor%In den wenigen Tests, die ich gemacht habe, scheint es in Ordnung zu sein, aber weiß jemand, ob es irgendwelche Garantien gibt, dass Token immer vor dem Schließen ausgelöst wird?
Update # 2:
Nachdem ich im #stripe-Kanal auf freenode gefragt habe, wurde mir ab 6. April scheint es, dass Stripe sichergestellt hat, dass das Token immer vor dem Schließen ausgelöst wird.
Ich glaube also, das löst mein Problem und erlaubt mir, zwischen den beiden Ereignissen zu unterscheiden.