Я использую Meteor с Iron Router and Stripe. Все работает отлично, но я не могу понять, как перенаправить пользователя на страницу окончательного заказа после завершения оплаты Stripe.Iron Router Meteor, Router.go альтернатива с серверной стороны
На моей стороне клиента у меня появляется модальная рамка, содержащая кнопку, которая гласит: «Оплатить» Когда нажата кнопка «Платить», происходит событие, которое вызывает вызовы и открывает программу Stripe Checkout.
После этого на клиенте запускается Stripe Checkout, и пользователь может ввести данные карты и отправить платеж. Метод серверной стороны для зарядки карты через Stripe завершен, и у меня также есть некоторые другие основные задачи базы данных, которые выполняются для регистрации результата и завершения состояния заказа.
Я создал маршрут с использованием Iron router, который я хочу, чтобы пользователь был перенаправлен также после завершения оплаты Stripe.
В настоящее время модальная коробка продолжает оставаться на экране. Я пытаюсь сделать Router.go отправить пользователя на страницу заказа, которая была настроена после завершения заказа.
Я верю Iron Router Router.go только на стороне клиента. Как я могу завершить процесс заказа и сделать модальную коробку на стороне клиента после завершения оплаты Stripe и перенаправить пользователя на последнюю полную страницу.
Когда я использую Router.go на стороне сервера я получаю сообщение об ошибке:
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
Не можете ли вы выполнить router.go() в обратном вызове метода meteor.call после успеха? –
Я закончил тем, что делал в основном то, что вы сказали, и добавил этот router.go после meteor.call – jremi