Files
ECShopX/todo/paypal-testing-steps.md
2025-12-29 22:14:41 +08:00

134 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PayPal 支付功能测试步骤
本文档提供了测试 PayPal 支付功能的步骤,包括配置测试、支付流程测试和退款测试。
## 准备工作
1. 确保已完成 PayPal 开发者账号注册和沙盒环境配置(参考 `paypal-developer-account-setup.md`
2. 确保已安装 PayPal PHP SDK 并完成代码集成
3. 确保已配置 `.env` 文件中的 PayPal 相关环境变量(参考 `paypal-env-example.md`
4. 准备好沙盒测试账号(商家账号和个人账号)的登录信息
## 测试步骤
### 1. 配置测试
1. 登录管理后台
2. 进入支付配置页面
3. 选择 PayPal 支付方式
4. 输入以下信息:
- Client ID使用沙盒应用的 Client ID
- Client Secret使用沙盒应用的 Secret
- 勾选"沙盒模式"
- 输入 Webhook ID
- 勾选"启用"
5. 保存配置
6. 检查配置是否保存成功
**预期结果**配置保存成功PayPal 支付方式显示为已启用。
### 2. 前端支付方式显示测试
1. 登录前端商城
2. 将商品添加到购物车
3. 进入结算页面
4. 查看支付方式列表
**预期结果**:支付方式列表中显示 PayPal 选项。
### 3. 基本支付流程测试
1. 在前端商城创建一个测试订单
2. 选择 PayPal 支付方式
3. 点击"支付"按钮
4. 系统应该重定向到 PayPal 登录页面
5. 使用沙盒个人账号登录 PayPal
6. 确认支付信息
7. 点击"同意并继续"按钮
8. 系统应该重定向回商城并显示支付成功页面
**预期结果**
- 支付成功
- 订单状态更新为已支付
- 交易记录正确保存在数据库中
### 4. 取消支付测试
1. 在前端商城创建一个测试订单
2. 选择 PayPal 支付方式
3. 点击"支付"按钮
4. 系统重定向到 PayPal 登录页面
5. 使用沙盒个人账号登录 PayPal
6. 在 PayPal 支付页面点击"取消并返回"链接
**预期结果**
- 系统重定向回商城并显示支付取消页面
- 订单状态保持为未支付
### 5. 退款测试
1. 登录管理后台
2. 找到一个已使用 PayPal 支付的订单
3. 进入订单详情页面
4. 点击"退款"按钮
5. 输入退款金额(可以是部分退款或全额退款)
6. 提交退款请求
**预期结果**
- 退款成功
- 订单状态更新为已退款或部分退款
- 退款记录正确保存在数据库中
### 6. Webhook 测试
1. 登录 PayPal 开发者控制台
2. 进入您的应用详情页面
3. 找到"Webhooks"部分
4. 点击"Simulator"按钮
5. 选择事件类型(如 PAYMENT.SALE.COMPLETED
6. 输入相关参数
7. 点击"Send test webhook"按钮
**预期结果**
- 系统正确接收 Webhook 请求
- 系统验证 Webhook 签名
- 系统根据事件类型执行相应的业务逻辑
- 日志中记录 Webhook 处理过程
## 问题排查
如果测试过程中遇到问题,请检查以下内容:
1. **支付创建失败**
- 检查 PayPal 配置是否正确Client ID 和 Secret
- 查看日志文件 `storage/logs/paypal.log` 获取详细错误信息
2. **回调处理失败**
- 确保回调 URL 可以从外网访问
- 检查 PayerID 和 PaymentID 是否正确传递
3. **Webhook 验证失败**
- 确保 Webhook ID 配置正确
- 检查 Webhook URL 是否可以从外网访问
- 验证请求头中的签名信息是否完整
4. **支付成功但订单状态未更新**
- 检查数据库中的交易记录
- 查看日志文件,确认支付回调是否正确处理
## 测试记录
| 测试项目 | 测试日期 | 测试结果 | 备注 |
|---------|---------|---------|------|
| 配置测试 | | | |
| 前端支付方式显示 | | | |
| 基本支付流程 | | | |
| 取消支付 | | | |
| 退款测试 | | | |
| Webhook 测试 | | | |
## 注意事项
1. 所有测试应先在沙盒环境中完成,确认无误后再在生产环境中进行
2. 在生产环境中进行测试时,建议使用小额交易
3. 记录所有测试过程和结果,以便后续分析和改进