dezlov / php-paypal-ipn
一个处理 PayPal 即时支付通知(IPN)的类。
v3.0.0
2015-12-18 14:52 UTC
Requires
- php: >=5.3.0
Suggests
- ext-curl: Network communication library which will enable additional features.
This package is not auto-updated.
Last update: 2024-09-28 18:10:43 UTC
README
一个用于处理 PayPal 即时支付通知(IPN)的 PHP 类。
特性
- 通过设置
use_sandbox属性在模拟环境和真实环境中切换。 - 默认支持 HTTPS(SSL)交易(自 2016 年起 PayPal 已停止支持 HTTP)。
- 通过设置
use_curl属性支持 cURL 和 fsockopen 网络库(推荐使用 cURL)。 - 验证 PayPal 服务器返回的 HTTP 200 响应状态码。
- 使用
getTextReport()方法获取整个 IPN 的详细纯文本报告,用于发送给管理员或记录日志。 - 抛出各种异常以区分代码或服务器配置中的常见错误与无效的 IPN 响应。
要求
- PHP 5.3.0 或更高版本。
- cURL 扩展(如果启用了
use_curl属性)。
文档
源代码包含 PHPDoc 风格的注释,提供了基本的函数参考。
从基本的 IPN 验证到完整的订单处理链,以及 getTextReport() 方法返回的样本报告,都可以在 示例 文件夹中找到。
此软件包可通过 Composer 在 dezlov/php-paypal-ipn 处获取。
入门指南
您应该了解 IPN 流程的概念,并了解何时以及为什么需要使用 IPN。阅读 PayPal 即时支付通知指南 是一个很好的起点。
您还应拥有一个 PayPal 沙盒账户,包括测试买家账户和测试卖家账户。在您的沙盒账户登录后,在“测试工具”菜单下有一个 IPN 模拟器,您可以使用它来测试您的 IPN 监听器。
一旦您设置了沙盒账户,您只需创建一个 PHP 脚本,该脚本将成为您的 IPN 监听器。在脚本中,使用如 示例 中所示的方式使用 IpnListener 类。
还可以阅读这篇 深入教程,了解 IPN 流程以及如何在 PHP 中实现 IPN 监听器脚本。
历史
版本之间的更改在 CHANGELOG.md 中记录。
此库是从 WadeShuler/PHP-PayPal-IPN 分支的,而后者又是从 Quixotix/PHP-PayPal-IPN 分支的。
以下是它们之间的差异以及分叉的原因的简要总结
- Quixotix 的版本不再维护,并包含各种关键问题。
- WadeShuler 的版本旨在解决原始版本的所有问题,但是不必要地进行了几个破坏性的更改。
- 本版本的目标是通过修复任何问题来保持库的运行,同时尽量保持与原始版本的向后兼容。
许可证
本作品遵循 GPL 2.0 许可协议。
原作者版权声明:LICENSE。