node.js - 如何将 Paypal 与 node js 集成到 REST 方式中
问题描述
我需要将贝宝与节点 js 集成(第一次)。但是 node js 用作 REST 服务器,前端构建在移动设备(Android 和 iOS)上。我认为使用返回 url 和取消基于 Web 的前端而不是移动端的 url 的目的。
以前我实现了 Stripe 支付网关,它有一个简单的系统,在移动设备上生成一个身份验证令牌,移动设备将此令牌发送到 Node Js Rest API。因此,节点 js 应用程序没有买家身份验证令牌,它会处理所需的付款。
但我很困惑 Paypal 如何实现相同的场景。
更新:我正在使用贝宝官方节点 js 包https://github.com/paypal/PayPal-node-SDK
更新:经过更多搜索,我看到了付款流程中的一些步骤
- 用户 paypal 付款在我的 REST API 中创建 API 以获取“付款 ID”和链接。
- 点击approval_url 链接,该链接用于在paypal 网站上填写买家信息。完成后,Paypal 在第一个 API 中自动描述返回 url,以及支付 ID 和付款人 ID 参数。
- 在 Return API 中,使用 payment id 和 payer id 参数来执行 paypal 支付的 API。
如果以上都是生成付款的实际过程,那么我假设后端 API 只需要第三步,该 API url 可以与移动开发人员在他们的 paypal 集成中共享。所以移动将
- 创建付款
- 填写买家信息
而 Paypal 会自动点击返回 url,后端 API 将执行付款。
如果这是贝宝与移动和休息 api 集成的推荐(或唯一)方式?
解决方案
return 和 cancel url 的目的是通知客户端(移动或 web)潜在的用户操作,如果用户完成付款,则通过 return url,如果用户通过 cancel Url 取消付款
您可以使用 rest 或 nvp PayPal 将同时支持两者,它们具有您可以用来完成交易的 rest 端点。
https://github.com/santhoshlfms/Android_PayPal_EC_NodeJs_Server_Sample(节点服务器)
https://github.com/santhoshlfms/Android_PayPal_EC_CustomTab_Demo(移动前端)
您可以按照这些 repo 了解如何继续。
推荐阅读
- mongodb - Mongo DB - UpdateMany 列数据
- python - tensorflow 2.x 可以在最新的 Python 上运行吗?
- pine-script - strategy.entry() 没有在应该开仓的时候开仓
- ansible - 使用 Ansible 的日期时差
- ios - 如何防止 Chrome-in-iOS 上的双击放大
- java - 抽象类中的抽象属性
- javascript - 事件循环在 Javascript 中是如何工作的?
- javascript - 我的整个网站在响应模式下被推到左边如何找到问题?
- java - 在android studio中设置进度条的三个参数
- c# - 无法将 WinRT/C++ 组件加载到我的 UWP/C# 应用程序