php - Authorize.Net Paypal Express PHP API:交易未在 Authorize.Net 中更新,也未捕获正确金额的问题
问题描述
我们已经通过 Authorize.Net 在 PHP ( https://developer.authorize.net/api/reference/features/paypal.html ) 中实现了 Paypal Express API。它在一年多前完成,并且一直运行良好。我们最近意识到,当 Paypal 授权在第 2 步“仅授权,继续”中更新时,在 Authorize.Net 中没有更新。发生捕获时,它仅捕获原始金额,尽管 Paypal 具有正确的更新金额。
这是我们的流程(遵循 Authorize.Net/Paypal API 说明):
- 我们向 Authorize.Net/Paypal 发送请求以创建交易。里面是商品的总成本。
- Paypal 返回一个安全链接,我们将用户重定向到该链接
- Paypal 使用令牌将用户重定向回我们。我们使用令牌来获取用户的运输数据并获取授权/交易 ID。
- 我们根据运输数据计算税款,并将用户发送到确认页面进行审核。
- 当用户提交时,我们发送第二个授权请求(仅授权,继续),如文件所示,使用网关交易 ID 以新金额更新交易等。
现在的问题是,Authorize.Net 仍然有原始金额(不含税)。当我们通过相同的 API 对该交易运行捕获时,由于某种原因,它只捕获原始金额,而不是含税金额。我们现在正在进行大量交易,但没有收到任何一笔交易的税款。
这是 Paypal 和 Authorize.Net 中的相同交易。Paypal 的屏幕显示授权价格为 120 美元,更新价格为 130.xx 美元(含运费)。
Authorize.Net 显示它以 120 美元的价格成功捕获。
这些是相同的交易,我们只使用 Authorize.Net Paypal Express API。Authorize.Net 怎么没有得到更新?为什么它没有捕获全部金额?
解决方案
当我们通过相同的 API 对该交易运行捕获时,由于某种原因,它只捕获原始金额,而不是含税金额。
您需要:
- 捕获第二个授权,而不是原始交易。这应该是正确的解决方案。
- 发送包含您正在捕获的新金额的详细信息的捕获请求。
推荐阅读
- apache - .htaccess 在我的 Ubuntu droplet 上不起作用,但在我的个人 PC 上正常工作。我忘记更改一些 Apache 设置了吗?
- javascript - 为什么当我不使用 for 循环时我会得到正确的碰撞,但是当我使用 for 循环时只有 1 个对象有碰撞?
- python - Pandas 无法读取 SQL 标头 - Python
- python - Anaconda 环境中是否有“激活”脚本?
- android - Ionic Google Play 少数兼容设备
- javascript - 可定制的 JavaScript 图表构建以实现高性能
- angular - 如何将 value.lng 分配给 [纬度] 和 [经度]?
- javascript - POST http://localhost:3000/updateSurvey 400(错误请求)
- sql - SQL Server:多列子查询
- mongodb - 带有pymongo的多列mongodb中的多索引与单索引