javascript - React - 支付网关重定向后添加的查询参数消失
问题描述
初始参数: https ://test.website.com/Form?value=testing&key=
根据用户选择,我使用以下代码添加查询参数 value key = "some_value"
const value = new URLSearchParams(this.props.location.search).get("value");
const key = new URLSearchParams(this.props.location.search).get("key");
if (key === "") {
this.props.history.push({
pathname: "/Form",
search: `?value=${value}&key=${key}`,
});
}
https://test.website.com/Form?value=testing&key=some_value 但是在此之后我已经集成了支付网关,单击同一选项卡页面中的按钮将被重定向到支付页面,成功消息后它将重定向回来到父页面,再添加一个与付款相关的查询参数。那时,添加的密钥丢失
即 https://test.website.com/Form?value=testing&key=&paymentStatus=Success
解决方案
支付网关最终控制您的用户在完成交易后将被重定向到的位置。听起来在您的情况下,网关正在做一些魔术来将用户重定向回他们来自的 URL。
支付网关通常允许您(集成商)自定义它们返回的 URL。StripesuccessUrl
在其客户端 JavaScript 客户端中接受一个。AdyenreturnUrl
在他们的支付流程中接受 a。你没有提到你正在使用的网关,但我怀疑它会有类似的功能。
如果他们不这样做 - 你将不得不依靠魔法。我建议确保https://test.website.com/Form?value=testing&key=some_value url 一直在浏览器的历史中。您在此处显示的代码片段将其推送到组件的历史记录中,但不清楚该历史记录是否与浏览器的历史记录相同。
推荐阅读
- python - 我如何提供再次运行程序或以 Python 结束程序的选择?
- vba - 启动 VBA 应用程序块使用和打开其他工作簿
- leaflet - 更改传单绘制中的顶点样式
- mongodb - mongodb异常连接失败
- android - Cannot find the declaration of element 'android.support.constraint.ConstraintLayout'
- javascript - pouchdb 对花式树的承诺
- git - Maintaining two git branches with a fixed set of differences
- typescript - Typescript - Application wide state (Singleton?)
- javascript - 使用 fetch 或 axios 发送身份验证标头
- arrays - 在 Ansible 中过滤变量数组