Files
license-manager/backend/docs/modules_design/2026.1.9-支付宝测试指南.md
T

4.1 KiB
Raw Blame History

支付宝沙箱测试指南

🔧 配置准备

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: 浏览器访问支付链接

  1. 复制API响应中的 payment_url
  2. 在浏览器中打开该链接
  3. 使用沙箱买家账号登录:
    • 账号: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配置
  • 查看支付宝回调日志

📊 测试数据

沙箱账号信息

测试金额建议

  • 小金额测试: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
  • 授权码正确生成
  • 回调日志正常,无错误

🚀 生产环境部署

测试通过后,修改配置为生产环境:

  1. 更换为正式APPID
  2. 使用生产RSA密钥对
  3. 修改网关地址为正式环境
  4. 更新回调URL为生产域名
  5. 配置生产数据库

🎉 按照此指南测试,你的支付宝支付功能就能正常工作了!