Последовательность действий должна быть следующей.
Платежный шлюз, которым я являюсь. используется PayFast.
Проблема в том, что в некоторых случаях при успешном перенаправлении URL-адреса я не получаю никакого ответа от платежного шлюза. Когда пользователь нажимает «Оплатить». он перенаправляется на страницу успеха http://example.com/success и в случае ответа об ошибке на страницу http://example.com/cancel.
HttpClient через сервис
Я также пробовал выполнить POST-запрос HttpClient внутри приложения Angular и без бэкэнда NodeJS. В этом случае я вызываю URL-адрес платежного шлюза напрямую, но с ошибкой CORS.
pay.service.ts:
Код: Выделить всё
payFunction(parameters: any){
return this._httpClient.post('https://test-wallet.example.com/checkout/'+
'param1='+parameters.param1+
'¶m2='+parameters.param2+
'¶m3='+parameters.param3+
'¶m4='+parameters.param4+
'¶m5='+parameters.param5+
'¶m6='+parameters.param6+
'¶m7='+parameters.param7+
'¶m8='+parameters.param8+
'¶m9='+parameters.param9
,parameters
,this.httpOptions
)
.catch(err => {
console.log(err);
return Observable.of(err)
})
}
Код: Выделить всё
async test(form){
await this._myPaymentService.payFunction(form.value).subscribe(res => {
console.log(res);
})
Следующий метод, который я использовал, — это метод Form Post, как показано ниже.
Код: Выделить всё
Pay with card
Кто-нибудь может мне помочь, как это сделать в backend . NET Core API и отправить ответ обратно во внешний интерфейс, на основе которого я смогу показать сообщение пользователю.
Подробнее здесь: https://stackoverflow.com/questions/676 ... ent-vendor