支付成功后PayPal POST数据

2021-12-29 00:00:00 post php mysql paypal

我正在尝试制作一个 PHP 应用程序,它将与 MySQL 交互.我已经有一个获取 POST 数据的页面,在它获取后,它会向用户提供信用".成功下单后的 PayPal 按钮可以向我发送帖子数据吗?或者还有其他方法吗?(很可能更简单、更安全)

I am trying to make an PHP app, that will interact with MySQL. I already have an page that gets POST data, and after it gets it, it gives "credit" to user. Can PayPal button after successful order send me an post data? or is there any other way? (most likely simplier and more secure)

推荐答案

是的,看看 PayPal Instant Payment Notification (IPN) - https://www.paypal.com/ipn/
这将强制在启动交易时向您发送交易数据的 POST.如果您目前使用网站付款标准(基于 HTML 的按钮),您只需添加

Yes, have a look at PayPal Instant Payment Notification (IPN) - https://www.paypal.com/ipn/
This will force a POST of transactional data to be sent to you whenever a transaction has been initiated. If you currently use Website Payments Standard (HTML based buttons), you can simply add

<input type="hidden" name="notify_url" value="http://full-URL-to-the-script-you-set-up-for-IPN">

您需要获取从 PayPal 收到的所有 POST 数据,附加 cmd=_notify-validate 并将其发送回 https://www.paypal.com/cgi-bin/webscr(或 https://www.sandbox.paypal.com/cgi-bin/webscr(用于 Sandbox)以验证 IPN 消息.
根据此结果,您将收到 INVALID 或 VERIFIED 响应.
INVALID 可能意味着 IPN POST 并非来自 PayPal,而 VERIFIED 意味着 IPN POST 经验证确实来自 PayPal.

You'll need to take all POST data you received from PayPal, append cmd=_notify-validate and send it back to https://www.paypal.com/cgi-bin/webscr (or https://www.sandbox.paypal.com/cgi-bin/webscr for Sandbox) in order to validate the IPN message.
Depending on this result, you'll get back an INVALID or VERIFIED response.
INVALID may mean the IPN POST didn't originate from PayPal, whereas VERIFIED means the IPN POST was verified as indeed coming from PayPal.

相关文章