有没有办法在后端 Nodejs 中处理付款?
Posted
技术标签:
【中文标题】有没有办法在后端 Nodejs 中处理付款?【英文标题】:Is there a way to handle the payment in the Backend Nodejs? 【发布时间】:2021-06-04 18:13:52 【问题描述】:我用 react 制作了一个网站,我使用“react-paypal-button-v2”包将贝宝集成到我的网站, 所以一切都运行良好,但现在我想做的是隐藏“ClientId”,它是 react-paypal-button-v2 的属性之一,如下所示:
<PayPalButton
amount=amount
currency=currency
onSuccess=(details, data) => onSuccess(details, data)
options=
clientId: "YOUR_CLINET_ID"
/>
因为正如他们在文档from react apps documentation 中所说,将敏感数据放在前端是不安全的,所以我决定在后端处理这个并将 ClientId 保存为变量并每次都使用它请求付款被触发。 所以我的问题是在服务器端付款的最佳方式是什么? 或者如果我错了,还有比这更好的方法,请告诉我。 在此先感谢各位。
【问题讨论】:
Razorpay 也有类似的概念,但客户端 ID 不是敏感信息。您可以继续并将其存储在您的前端配置中 所以如果有人得到那个client_id也没关系? 是的,这真的没关系,因为主要是密钥,您应该将该密钥存储在后端,这就是我在集成 Razorpay 时所做的所有类似事情 哦,谢谢 Vikas 【参考方案1】:客户 ID 不是敏感信息。它旨在用于客户端。
服务器集成使用客户端 ID + 密钥进行 API 调用。服务器集成更加强大和安全,因此如果您有资源和能力与后端集成,建议您这样做。
Vanilla JS+后端方式
在您的服务器上创建两条路由,一条用于“创建订单”,一条用于“捕获订单”,documented here。这些路由应该返回 JSON 数据。后者应该(成功时)在返回之前将付款详细信息存储在您的数据库中。
将这两条路线与以下批准流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server
反应细节
react-paypal-button-v2 不是官方模块,请尝试更新的react-paypal-js。查看the Storybook.的“文档”标签
【讨论】:
非常感谢普雷斯顿,这很有帮助。以上是关于有没有办法在后端 Nodejs 中处理付款?的主要内容,如果未能解决你的问题,请参考以下文章