php - Paypal :在收到 IPN 之前获取买家 ID(快速结帐,PHP)

标签 php paypal paypal-ipn express-checkout

Payal 表示 IPN 可能需要一段时间才能转发订单。我想知道其他 Paypal API 是否有一种方法可以在用户被重定向到我网站的成功 URL 时立即获取有关订单的信息。

问题是查询字符串中似乎只有两个变量被转发到我的成功页面:tokenPayerID

我想这样做的原因是我想让用户在不登录我的网站的情况下完成结帐过程,但是一旦订单完成并且他们被发送到我的成功页面,我希望我的网站是能够将它们链接到他们以前的订单以及这个将从我的数据库中提取的订单。

这可以使用 token 和/或 PayerID 来完成吗?如果是这样,如何? (我使用的是快速结帐向导提供的 PHP 脚本)

最佳答案

IPN 通常几乎是实时的。有时它会有点滞后并且可能有点慢,但似乎并没有发生那么多。

也就是说,在您的结账过程中进行的 API 调用确实会在实际响应中返回很多有用的信息。您的 URL 只有您提到的参数( token 和付款人 ID),但是,GetExpressCheckoutDetails 响应将包含您需要的所有买家信息,而 DoExpressCheckoutPayment 将返回交易 ID、付款状态、付款人状态等。所以 DECP 可能有你所追求的大部分。

您可以使用 session 变量来保存GECD响应数据和DECP响应数据,然后在调用DECP后更新您的数据库,发送电子邮件通知等。

问题是,由于各种原因,付款可能最终处于“待处理”状态。因此,IPN 仍然是处理此类事情的最佳方式,这样您就可以更新您的数据库并针对收到的待处理付款发送一个通知,然后在付款实际结清后发送另一封更新/电子邮件。

关于php - Paypal :在收到 IPN 之前获取买家 ID(快速结帐,PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23185755/

相关文章:

Paypal 定期付款 IPN

php - 使用数组在选择元素中输出的mysql查询

paypal - 开发者 Paypal 应用程序消失了

已收到结算协议(protocol)付款的 Paypal Webhook?

php - 如何将自定义数据发送到 Paypal 并接收回来

asp.net - 如何在 Windows Server 2008 R2 上安装 PayPal API 证书

php - 拉维尔 : MYSQL check if child belongs to top level parent with one query

php - fgets结果后的自动空间?

php - 在 PHP/MySql 中对来自不同查询的表数据进行排序

php - 使用 Paypal 用户名、密码和签名访问 REST API