测试与上线
上线清单
切换到生产环境前需要检查的所有事项。
App 与账号
- App 已发布(审核通过)。生产 Key 和收款都需要(
APP_NOT_PUBLISHED、APP_UNAVAILABLE)。 - 支付已开通;清楚单笔 / 日 / 月限额和费率。
- 如需付款功能,已审核开通。
- 开发者钱包正常,余额足以覆盖退款和付款。
凭证
- 已创建生产 API Key(
ok_live_…);Secret 存放在密钥管理服务中,不在代码或仓库里。 - 已设置生产回调地址并保存回调密钥。
- 配置中按环境区分沙箱和生产凭证。
- 有轮换方案:新建 Key → 部署 → 旧 Key 24 小时后失效(或手动吊销)。
接入
- 签名使用秒级时间戳,服务器时钟已通过 NTP 同步。
- 每个请求使用新的 nonce;同一操作的重试使用相同的 Idempotency-Key。
- 每笔订单的
out_order_no唯一,并与 HTPid一起保存。 - 金额为最多 2 位小数的字符串,不使用浮点数计算。
- 只根据已验签的回调或订单查询标记已支付 —— 绝不依据浏览器。
- 回调处理:校验签名和时间戳、按
event_id去重、检查environment、amount和out_order_no、10 秒内返回 2xx。 - 按
error_code处理错误;记录trace_id。 - 你这边的金额与限额检查与审核限额一致,让用户看到明确提示而不是
LIMIT_EXCEEDED。 - 触发付款的入口(如有)已防滥用、防重复执行。
运维
- 每日用账单 CSV 对账。
- 有任务定期查询超过
expires_at仍“待支付”的订单。 - 对回调失败和
SIGNATURE_INVALID激增设置告警。 - 有面向用户的客服流程:退款政策、如何按
out_order_no查订单。
切换
同时部署生产 Key ID、Secret、回调密钥和接口地址。用同事的 HTP 账号做一笔小额真实收款并退款,确认控制台和你的数据库都有记录。