Woocommerce Paypal REST api 与 React JS 的集成
Posted
技术标签:
【中文标题】Woocommerce Paypal REST api 与 React JS 的集成【英文标题】:Woocommerce Paypal REST api integration with React JS 【发布时间】:2020-12-23 19:10:22 【问题描述】:我在后端使用 Woocommerce 并在前端使用 react js。由于 apis 支持 woocommerce,因此我正在尝试将 PayPal 集成为支付网关。与 woocommerce 配合使用的默认 WordPress 主题按以下流程进行付款。
-
当点击“使用 PayPal 支付”按钮时下达的订单处于待处理状态
使用订单 ID 和购物车金额将用户重定向到 PayPal 支付网站
当用户完成支付后,用户会被重定向到下订单页面。
先前下达的订单状态将更新为来自 Paypal 的相应响应,如处理中或已取消
我的问题是如何使用 REST API 实现这个过程。
最好使用客户端集成还是服务器端集成? 如果使用客户端集成,会有任何漏洞吗?如何确认用户支付了购物车的价值?
【问题讨论】:
【参考方案1】:Woocommerce 和 PayPal 都拥有自己的 api 资源。
使用他们的 API 文档,我们可以实现 restful API 实现,它可以与 woocommerce 进行通信以进行订单/商店管理以及贝宝进行支付管理
API 请求将始终从客户端发起,因此我们可以从客户端开始实施,但主要的是端点实际上不应指向 paypal 或 wooocommerce 真正的 endpoints,而是我们应该用我们自己的endpoints在服务端实现API相关的工作。例如,对于在woocommerce 中创建订单,实际的endpoint 是
curl -X POST https://<store_domain>/wp-json/wc/v3/orders \
-u consumer_key:consumer_secret \
-H "Content-Type: application/json" \
-d 'payload'
我们不应该直接使用它,而是可以这样做,
https://api.<store_domain>.com/create_order/
一些header authentication,然后是服务器,
api.<store_domain>.com
应该调用实际的woocommerce store,
https://<store_domain>/wp-json/wc/v3/orders
对于 PayPal 请求也以相同的方式设置端点,这样最终用户将看不到 woocommerce 和 paypal 中用于 API 资源的有效负载。
以类似的方式,来自贝宝的响应应该被重定向到
api.<store_domain>.com
在验证交易是否成功后,然后使用api响应我们可以在react js中处理它,这样可以保证安全!有关处理来自endcustomer 的响应的更多信息,请参阅URL。
【讨论】:
以上是关于Woocommerce Paypal REST api 与 React JS 的集成的主要内容,如果未能解决你的问题,请参考以下文章
WooCommerce 'woocommerce_payment_complete' 未在 PayPal 沙盒付款上运行
Woocommerce 和 Paypal | Paypal 结帐后的空白页
如何从 WooCommerce 订单中更改 Paypal 项目名称?