php - 如何验证paypal支付成功

标签 php paypal payment-gateway paypal-sandbox

当客户被重定向到我们的网站时,我正在尝试获取传递到我们网站的 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/

相关文章:

php - 直接加入zend框架

php - 在 php :7. 4-fpm 镜像上安装 PHP-zip

php - 用户使用 paypal 付款后,如何将订单数据存储到 mySQL 中

ios - 哪个是 iOS 应用程序中购买服务的最佳支付网关?

python - 我们可以用纯Python urllib登录一个网站,修改一些表单值,然后提交吗? (没有 Selenium 浏览器自动化)

php - 有条件地从 WooCommerce 我的帐户订单中删除取消按钮

php - Doctrine2 Cascade的正确使用

php插入mysql问题

php - 是否可以使用新的 PHP SDK 将自定义 "notify_url"传递给 paypal?

php - 如何在 PHP 上将 hash_hmac() 与 "SHA256withRSA"一起使用?