当客户被重定向到我们的网站时,我正在尝试获取传递到我们网站的 Paypal 交易的交易信息。
我在沙盒 Paypal 帐户设置中启用了自动返回和 pdt。我向 paypal 发布了一个示例交易,它回复了我的返回 url 并附加了 tx。
正如在一些文档中所见,我对 https://www.paypal.com/cgi-bin/webscr 做了一个 curl 请求并尝试通过传递请求值来获取信息,如下所示:
a.) tx = same one received from paypal
b.) at = pdt code given by paypal while turning pdt on
c.) cmd= "_notify-synch"
但结果我得到 String(0) "".
我错过了什么?
最佳答案
我强烈建议您考虑使用 PayPal 即时付款通知 (IPN)。 PayPal IPN 允许您(异步)处理订单信息,而不必依赖买家返回您的网站来完成订单。
您可以通过设置从 PayPal 接收此 (POST) 数据的脚本来使用 IPN。此外,您必须在按钮和/或 API 调用中包含以下代码:
对于网站支付标准(其中“xxxxxxxx”是您的 IPN 脚本的完整 URL):
input type="hidden"name="notify_url"value="xxxxxxxx"
对于快速结帐: 在您的 SetExpressCheckout 和 DoExpressCheckoutPayment API 调用中包含 NOTIFYURL=xxxxxxxx
对于网站支付专业版 在您的 DoDirectPayment API 调用中包含 NOTIFYURL=xxxxxxxx
您可以在 https://www.paypal.com/ipn 找到有关 PayPal IPN 的示例代码、文档和更多信息。
此外,这里有一篇文章,其中包含有关验证 IPN 消息真实性的附加步骤,网址为 https://www.x.com/developers/community/blogs/ppmtsrobertg/securing-your-instant-payment-notification-ipn-script
关于php - 如何验证paypal支付成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274449/