【问题标题】:Paypal redirection and payment dataPaypal 重定向和支付数据
【发布时间】:2011-12-01 21:08:43
【问题描述】:

我有许多网站正在使用此脚本来处理贝宝购买:

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,然后它甚至会返回交易数据。问题是:如何?

【问题讨论】:

    标签: redirect paypal paypal-sandbox


    【解决方案1】:

    查看 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">
    

    或者在您的情况下,将 &notify_url=http://...... 附加到您的网址。
    或者,您也可以在您的 PayPal 个人资料中设置一个 IPN URL,该 URL 将应用于所有收到的付款(除非被“notify_url”HTML 参数覆盖)。
    您可以在个人资料 > 我的销售工具 > 即时付款通知 > 更新中进行设置。

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

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

    【讨论】:

    • 我认为该帐户需要是 Premier 或 Business 帐户才能使用。
    猜你喜欢
    • 2013-12-18
    • 2011-10-14
    • 2013-04-01
    • 2013-03-21
    • 2016-04-04
    • 2021-05-07
    • 2013-07-05
    • 2015-04-18
    • 2015-10-29
    相关资源
    最近更新 更多