有没有办法在后端 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 中处理付款?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在没有客户端/前端帮助的情况下在后端有一个带有 setInterval 的 GET 请求?

在后端删除付款详细信息 Woocommerce 订单页面

初探nodeJS

使用 webpack 重用全栈模块

在后端 Octobercms 中验证文件上传(图像尺寸)

node.js