我想有一个带有提交按钮的文本输入表单转到paypal,付款后表单的内容应该放在mysql数据库中.
这听起来微不足道,但我在PayPal的IPN上遇到了这么难.
谁能指出我正确的方向?
谢谢!
PayPal在他们的网站上有一些示例代码.然而,您将面临的更大问题是用户可能需要实时响应.这通常通过在用户点击链接返回您的网站时处理提交到您网站的PDT数据来完成.在某些时候,PayPal会在某个时候向你的IPN发布类似的数据.您需要避免两次处理数据.
此外,有问题的数据只是PayPal有关交易的数据.它不包含任意数据.您应该在将客户订单发送到PayPal之前记录客户的订单,或者查找传递变量.例如,在创建开票协议时,会有一个名为的变量custom
,在您创建它时会传回给您.您可以在该变量中存储订单ID或任何您想要的内容.请小心验证其内容,以确保它仍然适用于交易详细信息.
您不会,也不能从Paypal获取表单的全部内容.您将得到的回复是您在"返回"字段中发送的地址.将任意信息从表单传递到回发的最佳方法是在"item_number"字段中(最好将其用作数据库中的ID,链接到您要跟踪的任何信息).
我知道这个问题已在几年前得到解答,但对于那些在未来偶然发现它的人来说......
我发现这个类+示例特别有用,以至于我已经将它重复用于无数个项目:http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
更新:该页面现在处于脱机状态,但这里有一个存档版本,它仍然有一个可用的下载链接:https://web.archive.org/web/20140210202247/http : //www.micahcarrick.com/php-paypal- IPN-整合,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