首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PayPal -商家取消交易

PayPal -商家取消交易
EN

Stack Overflow用户
提问于 2022-07-06 10:41:31
回答 1查看 60关注 0票数 0

我对PayPal集成很陌生。我在node.js中有一个应用程序,我的客户要求PayPal集成。我到目前为止所做的事:

  1. 调用/v1/OAuth2/令牌来获取令牌
  2. 调用/v2/签出/订单以获得批准链接
  3. 重定向到步骤2中获得的url。
  4. 按照paypal上的步骤付款
  5. success_url被称为,我想一切都很好

问题:钱没有给商人。有时他们是从我的卡,并在几分钟后,他们被送回来的信息:商人取消您的交易。有时候钱不是从我的卡里拿出来的。我正在使用一个实时的client_id和秘密。

有人有这个问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-06 11:21:41

我想一切都很好

你是这样想的,但是这个过程还没有完成。付款人批准了订单,但在您捕获订单之前不会进行付款。您错过了捕获API步骤。在使用这种重定向集成时,您的"success_url“(正如您所称的那样,尽管API参数是"redirect_url")应该显示一个订单评审页面,当最终确认给您系统时,您的系统应该执行v2/checkout/orders capture API调用,以完成支付,并显示此捕获API调用的成功(谢谢)或失败(有错误)结果。

此外,从您的网站重定向是一个旧的PayPal集成流程,对旧网站。当前PayPal检出积分不使用重定向。完全没有。

相反,在您的服务器上创建两个路由(url路径),一个用于“创建订单”,另一个用于“捕获顺序”。这两条路线都应该只返回JSON数据(不返回HTML或文本)。在第二条路由中,当捕获API成功时,您应该验证金额是正确的,并将其结果的支付细节存储在数据库中(特别是purchase_units[0].payments.captures[0].id,即PayPal事务ID),并在将返回JSON转发给前端调用方之前执行任何必要的业务逻辑(例如发送确认邮件或保留产品)。如果出现错误,也会转发JSON的详细信息,因为前端必须处理这些情况。

将这两条路径与这个前端审批流程配对:https://developer.paypal.com/demo/checkout/#/pattern/server。(如果您需要从客户端向服务器发送任何其他数据,如items数组或所选选项,请将body参数添加到具有JSON字符串或对象值的fetch中)

由于您使用的是节点,第一个链接在节点中有一个完整的堆栈示例。只需确保使用完整的客户端错误处理(请参阅第二个链接)扩展onApprove函数,因为节点示例目前不包括该级别的细节。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72882112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档