【问题标题】:PayPal IPN - PHP and MySQL贝宝 IPN - PHP 和 MySQL
【发布时间】:2026-01-31 09:25:01
【问题描述】:

只是一个问题,以确保我正确理解这一点:

当我创建“立即购买”按钮并将所有表单字段传递给 PayPal 时 - 只要我设置了 notify_url 以发布到 ipn.php 文件,用户完成交易后,用户将被重定向到返回字段中定义的站点上的页面,是吗?

换句话说:

notify_url - 将交易信息发布到指定文件。

return - 将用户重定向到定义的页面。

我知道这应该很简单,我已经阅读了文档并且我已经做了两个星期了。我的意思是,我已经尝试找到合适的解决方案大约两周了,我认为 IPN 选项可能就是这样。

我相信,在这一点上,我只是想多了,但我听说这些领域相互抵消了。这是真的?如果是这样,我该如何纠正它?

请,请不要让我返回文档。我现在很困惑。

【问题讨论】:

    标签: php mysql paypal paypal-ipn paypal-sandbox


    【解决方案1】:

    你是对的。如果它是托管按钮,您可以为您的贝宝按钮本身定义一个通知 URL,或者将一个保存在您的贝宝帐户中。您可以将一个字段和一个隐藏字段传递给非托管按钮(出于安全原因,我不建议这样做)。

    如果您不使用托管按钮,请确保客户不会更改货币。

    如果您不喜欢使用非托管按钮,但需要动态更改变量而不是查看 paypal 的 soap api。

    在 cbt 变量中,您可以设置标签,paypal 将使用该标签将返回变量中给出的返回 url 链接到按钮。

    【讨论】:

    • 我将按照您的建议研究soap api,因为我有另一个项目即将推出,可能非常需要它。太糟糕了,我不能给出第二个有用的答案。
    • 如果对您有帮助,您可以投票支持我的回答。肥皂 api 导致很多工作。对于我的需要,一个非托管按钮(如果您在创建步骤 2 中选择不应该保存它,您会得到该按钮)就足够了。
    【解决方案2】:

    当您从您的网站提交到 Paypal 时,它会再次通过 IPN 返回您的网站并提供一些响应,例如“已验证”(如果交易成功),然后再发回 Paypal,然后重定向到您的网站用于成功或失败响应。

    【讨论】:

      【解决方案3】:

      这两个字段彼此无关。

      notify_url 存在以便当用户的交易完成时,paypal 可以通知(而不是用户)。它将特殊格式的请求(IPN)发布到您指定的 url。这是一种用户永远不会看到的带外机制。

      return 将用户的浏览器重定向到您指定的页面,当他的交易完成时。

      您可以设置一个或另一个或两个字段。

      【讨论】:

      • 哦,哇,我希望我能把三个答案都答对一个。他们都很有帮助。看起来很简单,谢天谢地。你今天为解决我非常困惑但非常简单的问题而摇滚。