【发布时间】:2010-10-15 13:30:01
【问题描述】:
我想要一个带有提交按钮的文本输入表单,该表单可以发送到贝宝,付款后表单的内容应该进入 mysql 数据库..
这听起来微不足道,但我很难使用 paypal 的 IPN。
谁能指出我正确的方向?
谢谢!
【问题讨论】:
标签: php paypal paypal-ipn
我想要一个带有提交按钮的文本输入表单,该表单可以发送到贝宝,付款后表单的内容应该进入 mysql 数据库..
这听起来微不足道,但我很难使用 paypal 的 IPN。
谁能指出我正确的方向?
谢谢!
【问题讨论】:
标签: php paypal paypal-ipn
我知道这个问题几年前就已经回答过了,但是对于那些将来偶然发现它的人来说......
我发现这个类 + 示例特别有用,以至于我在无数项目中重复使用它:http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
更新:该页面现在离线,但这里有一个存档版本,它仍然有一个有效的下载链接:https://web.archive.org/web/20140210202247/http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
这里是存档下载的直接链接:https://web.archive.org/web/20140210202247/http://www.micahcarrick.com/files/paypal-1.3.0.zip
从存档页面,作者还链接到他的库的新版本,这可能是现在更好的选择:https://github.com/Quixotix/PHP-PayPal-IPN
【讨论】:
PayPal 在他们的网站上有一些示例代码。然而,您将面临的更大问题是用户可能需要实时响应。这通常是通过处理当用户单击链接返回到您的站点时提交到您的站点的 PDT 数据来完成的。稍后,PayPal 会在您的 IPN url 上发布类似的数据。您需要避免两次处理数据。
此外,有问题的数据只是 PayPal 关于交易的数据。它不包含任意数据。您可能应该在将客户的订单发送到贝宝之前记录他们的订单,或者寻找传递变量。例如,在创建计费协议时,有一个名为 custom 的变量会在您创建时传回给您。您可以在该变量中存储订单 ID 或您想要的任何内容。请小心验证其内容,以确保交易详细信息仍然正确。
【讨论】:
我猜你想要的是制作一个表单,当用户点击提交按钮时,它会被带到贝宝,然后返回到你的网站,在那里你可以获得表单的内容?
我没有看到人们这样做,我看到人们所做的是,当用户提交表单时,他们会被带到一个脚本来处理表单,并且在该脚本中,他们会被重定向到他们所在的 paypal支付,然后您可以使用 IPN 处理贝宝的响应。
【讨论】:
【讨论】:
This PHP sample 应该可以帮助您开始使用 IPN。
在这里您可以找到 PHP API for PayPal,即使它不包含处理 IPN 的示例,它也可能很有用。
【讨论】:
您没有也不能从 Paypal 取回表单的全部内容。你会得到一个回传到你在“return”字段中发送的地址。将任意信息从表单传递到回发的最佳方式是在“item_number”字段中(最好将其用作数据库中的 ID,链接到您要跟踪的任何信息)。
【讨论】: