82 lines
2.8 KiB
Markdown
82 lines
2.8 KiB
Markdown
# 常见问题与解决方案
|
||
|
||
## 钱包相关
|
||
|
||
### Q: check-wallet 返回 code=200 但 message 为"已申请开通,等待授权"
|
||
**原因**:钱包已申请但尚未在支付宝内完成授权
|
||
**解决**:调用 alipay-authenticate-wallet 技能,引导用户扫码完成授权
|
||
|
||
### Q: check-wallet 返回 code=500
|
||
**原因**:钱包未开通
|
||
**解决**:调用 alipay-authenticate-wallet 技能执行 apply-wallet
|
||
|
||
### Q: bind-wallet 返回"买家和卖家不能相同"
|
||
**原因**:绑定的钱包账号与商品卖家是同一个支付宝账号
|
||
**解决**:使用另一个支付宝账号重新绑定
|
||
|
||
### Q: bind-wallet 返回"服务sellerId不匹配"
|
||
**原因**:绑定的钱包对应的卖家ID与Payment-Needed中的卖家ID不一致
|
||
**解决**:关闭当前钱包,用正确的卖家账号重新绑定
|
||
|
||
---
|
||
|
||
## 支付相关
|
||
|
||
### Q: 402-buyer-pay 返回"请求已过期"
|
||
**原因**:Payment-Needed 数据已超过 pay_before 时间
|
||
**解决**:重新从服务器获取新的 Payment-Needed 数据
|
||
|
||
### Q: 402-buyer-pay 返回"卖家签名校验失败"
|
||
**原因**:Payment-Needed 数据中的签名与当前卖家私钥不匹配
|
||
**解决**:重新从服务器获取 Payment-Needed 数据并重试(最多3次)
|
||
|
||
### Q: 支付二维码已过期
|
||
**原因**:用户长时间未扫码支付
|
||
**解决**:重新发起支付,获取新的二维码
|
||
|
||
### Q: 轮询超时(>3分钟无响应)
|
||
**可能原因**:
|
||
1. 用户尚未扫码支付
|
||
2. 支付宝网络延迟
|
||
3. 服务器未运行
|
||
**解决**:提示用户检查是否已完成扫码,或稍后重试
|
||
|
||
---
|
||
|
||
## 交付与获取相关
|
||
|
||
### Q: 支付成功但未获取到网盘链接
|
||
**原因**:订单可能异常或调用 `/verify` 接口失败
|
||
**解决**:检查 `Payment-Proof` 凭证是否构造正确并传入,或检查系统后端服务状态
|
||
|
||
### Q: 接口返回 402 而非网盘链接
|
||
**原因**:Payment-Proof 格式不正确或交易号不匹配
|
||
**解决**:使用正确的 trade_no 重新生成 Payment-Proof 并再次调用 `/verify` 接口
|
||
|
||
---
|
||
|
||
## 服务器相关
|
||
|
||
### Q: 无法连接到 STORE_BASE_URL (如 https://gzh.bushrose.cn)
|
||
**原因**:Flask 服务器未启动或域名解析问题
|
||
**解决**:
|
||
确认后台服务器已正确部署并运行,如需本地测试,可运行:
|
||
```bash
|
||
python app.py
|
||
```
|
||
|
||
### Q: 服务器返回 500 错误
|
||
**原因**:服务器代码异常
|
||
**解决**:管理员需查看终端日志或错误日志(如 `logs/error.log`),检查 `.env` 配置及代码是否正确
|
||
|
||
---
|
||
|
||
## 网络相关
|
||
|
||
### Q: alipay-bot 命令执行超时
|
||
**原因**:网络连接不稳定
|
||
**解决**:检查网络连接,可重试1次;连续失败提示用户检查网络
|
||
|
||
### Q: curl 命令返回 connection refused
|
||
**原因**:后台服务器未启动或端口被占用
|
||
**解决**:确认服务器已启动,检查对应端口是否被其他程序占用 |