Моя проблема заключается в следующем. Мое угловое веб-приложение должно позволять осуществлять платежи. Для этого я реализовал Stripe в качестве платежной платформы, и в мобильной версии я хочу иметь возможность осуществлять платежи с помощью Google Pay и Apple Pay. В данный момент я работаю над опцией Google Pay. Согласно Stripe Documentation это можно сделать с помощью кнопки Запрос платежа .
.
Я реализовал кнопку, и я могу выполнить платеж, и вижу платеж в своем бэкэнде. Однако после обработки платежа я хочу перейти на страницу оформления заказа. Вот почему, когда я получаю ответ, я выполняю router.navigate
.doPayment(params)
.subscribe(responseIsOk => {
if (responseIsOk as SellResult) {
console.log('payment correctly performed');
this.router.navigate(['./pages/checkout']);
}
});
Я также применил обычный способ оплаты с использованием чередования, в котором будут использоваться Элементы чередования карточек . Тогда я могу заплатить двумя способами. Они оба вызовут предыдущий фрагмент кода, который будет перенаправлен на страницу оформления заказа.
Если я использую обычный способ оплаты, все работает нормально, но если я использую метод оплаты Google, страница оплаты не исчезает (я вижу компонент страницы оформления заказа и ниже этого компонента страницы оплаты). Я установил некоторые контрольные точки в методе ngOnInit компонента оформления заказа, и когда я плачу с помощью Google pay, на этом он не останавливается.
Любая подсказка, что может происходить?
Заранее спасибо
EDIT
export const routes: Routes = [
{
path: 'pages',
component: PagesComponent,
children: [
{path: 'pay', canActivate: [AdminGuard], canDeactivate: [NavigationGuard],
loadChildren: 'app/pages/pay/pay.module#PayModule'},
{path: 'checkout', canActivate: [AdminGuard], loadChildren: 'app/pages/checkout/checkout.module#CheckoutModule'},
],
},
];
Не беспокойтесь об охранниках, они их пропускают, потому что если бы не было, я бы заметил это в журналах.