Paypal重定向和支付数据

时间:2011-12-01 21:08:43

标签: redirect paypal paypal-sandbox

我有很多网站正在使用此脚本来处理PayPal购物:

header("location: https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&business=".urlencode($strMail)."&item_name=".urlencode($strName)."&item_number=".urlencode($strCode)."&amount=".urlencode($strCost)."&no_shipping=0&return=".urlencode($strDomain.$strFolder."Thanks.php")."&cancel_return=".urlencode($strDomain.$strFolder."Cancel.php")."&notify_url=http%3a%2f%2fwww%2eincansoft%2ecom%2fipn%2ephp&no_note=1&currency_code=USD&lc=GR&bn=PP%2dBuyNowBF&charset=UTF%2d8");

这里的问题是,当它重定向到“Thanks.php”页面时,我希望它更新我的数据库中的某些内容(更改项目的可用性)。我已经阅读了付款数据传输和自动退货,但启用自动退货要求我必须输入一个固定的退货页面,然后编辑我必须拥有单独的谢谢页面的所有网站。

我的问题是: 有没有其他方法来重定向和检索交易数据而不为我的所有产品设置1个常量返回页面?

编辑:我想这是可能的,因为,例如,Nanacast可以做到这一点。您只需配置您的电子邮件和返回URL,然后它甚至返回交易数据。问题是:如何?

1 个答案:

答案 0 :(得分:2)

查看PayPal即时付款通知(IPN) - https://www.paypal.com/ipn/
这将强制在发起事务时向您发送事务数据的POST。买家甚至不必返回“感谢”页面才能使用此功能;只要买方在PayPal网站上完成付款,它就会一直发送。

如果您目前使用网站付款标准(基于HTML的按钮),则只需添加

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

或者在您的情况下,将&amp; notify_url = http:// ......附加到您的网址上 或者,您也可以在PayPal配置文件中设置IPN URL,该URL将应用于所有收款(除非使用'notify_url'HTML参数覆盖)。
你可以在Profile&gt;中进行设置。我的销售工具&gt;即时付款通知&gt;更新。

您需要获取从PayPal收到的所有POST数据,附加cmd = _notify-validate并将其发送回https://www.paypal.com/cgi-bin/webscr(或https://www.sandbox.paypal.com/cgi-bin/webscr for Sandbox)以验证IPN消息

根据此结果,您将在页面正文中找回INVALID或VERIFIED响应。
INVALID可能意味着IPN POST不是来自PayPal,而VERIFIED意味着IPN POST被验证为确实来自PayPal。