Ich benutze Meteor mit Iron Router und Stripe. Alles funktioniert gut, aber ich kann nicht herausfinden, wie man den Benutzer nach Abschluss der Stripe-Ladung zu einer endgültigen Seite der Bestellung umleitet.Iron Router Meteor, Router.go Alternative von Server-Seite
Auf meiner Client-Seite habe ich eine modale Box, die eine Schaltfläche enthält, die sagt, "Pay" Wenn die Pay-Taste angeklickt wird, wird ein Ereignis ausgelöst, das Stripe Checkout aufruft und öffnet.
Der Stripe Checkout wird dann auf dem Client initiiert und der Benutzer kann die Kartendetails eingeben und die Zahlung senden. Die serverseitige Methode zum Laden der Karte über Stripe ist abgeschlossen und ich habe auch einige andere grundlegende Datenbankaufgaben, die ausgeführt werden, um das Ergebnis zu protokollieren und den Bestellstatus abzuschließen.
Ich habe eine Route mit Iron Router erstellt, die ich möchte, dass der Benutzer auch nach Abschluss der Stripe-Zahlung umgeleitet wird.
Ab sofort bleibt die modale Box auf dem Bildschirm. Ich versuche, den Router.go dazu zu bringen, den Benutzer auf die Bestellseite zu schicken, die nach der Bestellung eingerichtet wurde.
Ich glaube der Iron Router Router.go wird nur clientseitige verwendet. Wie kann ich den Bestellvorgang abschließen und die clientseitige modale Box verschwinden lassen, nachdem die Stripe-Gebühr abgeschlossen wurde, und den Benutzer auf die letzte vollständige Seite umleiten?
Wenn ich die Router.go auf Server-Seite verwenden, erhalte ich Fehler:
Exception in callback of async function: TypeError: Object function router(req, res, next) {//XXX this assumes no other routers on the parent stack which we should probably fix
Kannst du router.go() im Callback der meteor.call-Methode nach Erfolg nicht tun? –
Ich endete im Grunde, was Sie sagten, und fügte dieses router.go nach dem meteor.call hinzu – jremi