4.1 KiB
4.1 KiB
支付宝沙箱测试指南
🔧 配置准备
1. 启动服务
# 启动数据库和后端服务
cd backend
go run cmd/main.go
2. 验证配置
启动后检查日志,确认支付宝SDK初始化成功:
[INFO] Alipay client initialized successfully
🧪 测试步骤
步骤1: 创建订单并支付
API请求
# 1. 获取套餐列表
curl -X GET "http://localhost:18888/api/cu/packages" \
-H "Content-Type: application/json"
# 2. 计算价格
curl -X POST "http://localhost:18888/api/cu/orders/calculate" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"package_id": "basic",
"license_count": 1
}'
# 3. 创建付费订单
curl -X POST "http://localhost:18888/api/cu/orders" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"package_id": "basic",
"license_count": 1,
"payment_method": "alipay"
}'
预期响应
{
"code": "000000",
"message": "成功",
"data": {
"id": "order_xxx",
"order_no": "ORD20240101001",
"payment_no": "PAY20240101001",
"total_amount": 300.00,
"status": "pending",
"payment_url": "https://openapi-sandbox.dl.alipaydev.com/gateway.do?...",
"expire_time": "2024-01-01T13:00:00Z"
}
}
步骤2: 模拟支付
方法1: 浏览器访问支付链接
- 复制API响应中的
payment_url - 在浏览器中打开该链接
- 使用沙箱买家账号登录:
- 账号:
mgwlmn3858@sandbox.com - 密码:
111111 - 支付密码:
111111
- 账号:
方法2: 使用支付宝App扫码
如果支付链接是二维码,可以用支付宝App扫描支付
步骤3: 验证支付结果
查询支付状态
curl -X GET "http://localhost:18888/api/payment/PAY20240101001/status" \
-H "Authorization: Bearer YOUR_TOKEN"
预期成功响应
{
"code": "000000",
"data": {
"payment_no": "PAY20240101001",
"status": "paid",
"amount": 300.00,
"payment_time": "2024-01-01T12:35:00Z",
"trade_no": "20240101220014xxxxxx",
"business_order": {
"order_no": "ORD20240101001",
"authorization_code": "AC-240101-XXXXXX",
"status": "paid"
}
}
}
🔍 常见问题排查
1. 支付链接无法访问
- 检查
gateway_url是否正确 - 确认网络能访问支付宝沙箱环境
2. 回调失败
- 检查
notify_url是否可公网访问 - 查看服务日志中的回调处理信息
3. 签名验证失败
- 确认私钥格式正确(PKCS8)
- 检查公钥是否匹配
4. 订单状态未更新
- 检查回调URL配置
- 查看支付宝回调日志
📊 测试数据
沙箱账号信息
- 买家账号: mgwlmn3858@sandbox.com / 111111
- 支付密码: 111111
- 余额: 1,000,000.00
测试金额建议
- 小金额测试:0.01元
- 正常金额测试:1.00-100.00元
- 大金额测试:1000.00元
🐛 调试技巧
1. 查看详细日志
# 设置日志级别为debug
log:
level: "debug"
2. 手动触发回调测试
# 模拟支付宝回调(需构造正确的回调参数)
curl -X POST "http://localhost:18888/api/payment/alipay/callback" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "回调参数..."
3. 数据库检查
-- 查看支付订单
SELECT * FROM payments WHERE payment_no = 'PAY20240101001';
-- 查看业务订单
SELECT * FROM cu_orders WHERE order_no = 'ORD20240101001';
✅ 测试 checklist
- 服务启动成功,无错误日志
- 创建付费订单API返回支付链接
- 支付链接可正常访问支付宝沙箱
- 沙箱账号能正常登录和支付
- 支付完成后订单状态更新为paid
- 授权码正确生成
- 回调日志正常,无错误
🚀 生产环境部署
测试通过后,修改配置为生产环境:
- 更换为正式APPID
- 使用生产RSA密钥对
- 修改网关地址为正式环境
- 更新回调URL为生产域名
- 配置生产数据库
🎉 按照此指南测试,你的支付宝支付功能就能正常工作了!