我是集成支付网关在角版本7。
支付网关需要如下所示的数据输入
requestParameter : MerchantId||CollaboratorID||Encrypted_string我尝试使用ngForm提交表单,如下所示,但我的请求不是将错误404发送到支付网关url,而是在响应"http://localhost:4200/direcPayment/“和会话过期的支付网关消息时获得错误404。这就像在请求中出现任何问题一样,您将得到会话过期消息。
<form (ngSubmit)="onSubmit()" method="POST" mt-3>在代码的后面,我将按需要传递参数,并按以下方式进行http.post调用。单击OnSubmit时,我用加密字符串调用了formSubmit
formSubmit( encryptedString) {
const formData = new FormData();
formData.append( 'requestParameter', encryptedString);
this.http.post('direcPayment/', formData, httpFormDataOptions)
.subscribe((resposne) => {
console.log(resposne);
});}
在"httpFormDataOptions“中,我在标题下面添加了
const httpFormDataOptions = {
headers: new HttpHeaders(),
};
httpFormDataOptions.headers.append('Access-Control-Allow-Origin', '*');
httpFormDataOptions.headers.append('Access-Control-Allow-Methods', 'DELETE, POST, GET, OPTIONS');
httpFormDataOptions.headers.append('Access-Control-Allow-Headers', 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With');/direcPayment引用我的Proxy.config.json文件如下
{
"/direcPayment": {
"target": "PaymentGatewayURL",
"secure": true,
"pathRewrite": {"^/direcPayment" : ""},
"changeOrigin": true
},
}因此,目前我使用ngNoForm并使用action属性提交表单。
所以我想问两个问题
谢谢。
发布于 2018-12-26 01:01:50
你的代码:
this.http.post('direcPayment/', formData, httpFormDataOptions)
.subscribe((resposne) => {
console.log(resposne);
});
}因此,文章数据将提交给http://localhost:4200/direcPayment/,您应该将您的支付网关的网址放在这里
发布于 2018-12-26 01:32:51
假设您的应用程序有一个服务器端)后端,您可能应该从后端处理整个事务。
如果你根本没有后端,我就没有建议了。我想不出有什么安全的方法可以完全在客户端做到这一点。
发布于 2021-03-25 16:39:43
您应该定义一个API Post端点,它将接收支付有效负载响应,并将重定向到所需的前端页面。
.NET的一个例子是:
[HttpPost("api/payment-done"]
public IActionResult PaymentDone([FromBody] PaymentPayload request)
{
//do stuff with payload
return Redirect("http://your-website-page");
}https://stackoverflow.com/questions/53926233
复制相似问题