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