rest - 执行付款后调用的 PayPal REST API 取消 URL

标签 rest paypal paypal-rest-sdk

我有一个奇怪的问题,我想弄明白。

我正在使用 PHP 和 REST API。

这是场景:

1) 用户按下结帐按钮

2) 付款被批准

3) 付款执行

4) 用户被重定向到完成的购买页面

5) 几秒钟后,调用交易的取消 URL(例如当用户点击取消并返回商户按钮,而不是批准付款时)。

在大约 100 笔交易中,我有 3 笔以这种方式显示在所有 3 笔交易中,实际付款以及可用资金。我检查了服务器访问日志文件,其中 2 个使用的是 ios 9.3.1,一个是 ios 9.2.1。这怎么可能?

我的猜测是他们以某种方式点击了后退按钮,然后点击了取消按钮,是这样吗?

我的取消 URL 包含一个将订单状态设置为已取消的脚本,如果之前未执行过订单,我是否应该调整脚本以仅将状态设置为已取消。

在我执行付款后,还有人可以取消付款吗?

最佳答案

我认为您应该“信任”PayPal 发送的 IPN 消息,而不是 ok/cancel 返回 url。

https://developer.paypal.com/docs/classic/ipn/integration-guide/IPNIntro/

ok/cancel url 应该只用于向用户显示信息

让 PayPal 知道您的 IPN 端点(将接收 IPN GET/POST 消息的脚本)。调用脚本后,相应地更新数据库

这样做用户将无法搞砸交易,您保证会收到 1 条 IPN 消息,无论是“交易成功”还是“交易错误”消息

关于rest - 执行付款后调用的 PayPal REST API 取消 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082046/

相关文章:

php - Symfony2 JSON 示例

php - Paypal 集成 HTTP 错误

Paypal 标准结帐重定向到 paypal.com/webapps/hermes

javascript - paypal自定义确认邮件

paypal - 从 Rails 应用程序将运输选项发送到 Paypal

REST API 返回 AUTHORIZATION_ERROR

javascript - 如何发布 url 编码的 json 数据并获取响应数据?

java - 使用 Azure Java SDK 或 REST API 列出存储帐户的所有快照

Paypal API 创建沙盒个人和企业帐户

amazon-web-services - 如何在嵌套服务调用链中实现弹性(重试)