PHP-PayPal-IPN 项目使用教程
1. 项目的目录结构及介绍
PHP-PayPal-IPN/
├── LICENSE
├── README.md
├── composer.json
├── examples/
│ ├── ipn.php
│ └── ipn_test.php
├── paypal
│ └── ipnlistener.php
└── tests/
└── IpnListenerTest.php
- LICENSE: 项目许可证文件。
- README.md: 项目说明文档。
- composer.json: Composer 依赖管理文件。
- examples/: 示例代码目录,包含实际使用的示例文件。
- ipn.php: 实际使用 PayPal IPN 的示例文件。
- ipn_test.php: IPN 测试示例文件。
- paypal/: 核心代码目录。
- ipnlistener.php: IPN 监听器核心类文件。
- tests/: 测试代码目录。
- IpnListenerTest.php: IPN 监听器测试类文件。
2. 项目的启动文件介绍
项目的启动文件是 examples/ipn.php
。这个文件包含了如何初始化和使用 IPN 监听器的示例代码。以下是 ipn.php
文件的关键部分:
require('../paypal/ipnlistener.php');
$listener = new IpnListener();
// 配置监听器
$listener->use_sandbox = true; // 使用沙盒环境
$listener->use_ssl = false; // 不使用 SSL
try {
$verified = $listener->processIpn();
} catch (Exception $e) {
error_log($e->getMessage());
exit(0);
}
if ($verified) {
// IPN 验证成功后的处理逻辑
// 例如,记录交易到数据库
} else {
// IPN 验证失败的处理逻辑
}
3. 项目的配置文件介绍
项目没有显式的配置文件,但可以通过修改 ipnlistener.php
中的类属性来进行配置。以下是一些关键的配置选项:
- $use_sandbox: 是否使用 PayPal 沙盒环境进行测试。
- $use_ssl: 是否使用 SSL 连接。
- $verify_ssl: 是否验证 SSL 证书。
这些配置选项可以在实例化 IpnListener
类后进行设置,如 ipn.php
示例文件中所示。
$listener = new IpnListener();
$listener->use_sandbox = true; // 使用沙盒环境
$listener->use_ssl = false; // 不使用 SSL
通过这些配置,可以根据实际需求调整 IPN 监听器的行为。