Paypal:收到IPN之前获取买家ID(快速结账,PHP)

时间:2014-04-20 17:50:24

标签: php paypal paypal-ipn express-checkout

Payal表示IPN可能需要一段时间才能传递订单。我想知道是否有其他Paypal API可以立即获取有关订单的信息,当用户被重定向到我网站的成功网址时。

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

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

可以使用token和/或PayerID来完成吗?如果是这样,怎么样? (我正在使用Express checkout向导提供的PHP脚本)

1 个答案:

答案 0 :(得分:1)

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

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

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

问题是,由于各种原因,付款可能最终“待定”。因此,IPN仍然是处理此类事情的最佳方式,以便您可以更新数据库并发送一个通知,以便收到待处理的付款,然后在付款实际清除后再发送一次更新/电子邮件。