测试与上线

上线清单

切换到生产环境前需要检查的所有事项。

App 与账号

  • App 已发布(审核通过)。生产 Key 和收款都需要(APP_NOT_PUBLISHED、APP_UNAVAILABLE)。
  • 支付已开通;清楚单笔 / 日 / 月限额和费率。
  • 如需付款功能,已审核开通。
  • 开发者钱包正常,余额足以覆盖退款和付款。

凭证

  • 已创建生产 API Key(ok_live_…);Secret 存放在密钥管理服务中,不在代码或仓库里。
  • 已设置生产回调地址并保存回调密钥。
  • 配置中按环境区分沙箱和生产凭证。
  • 有轮换方案:新建 Key → 部署 → 旧 Key 24 小时后失效(或手动吊销)。

接入

  • 签名使用秒级时间戳,服务器时钟已通过 NTP 同步。
  • 每个请求使用新的 nonce;同一操作的重试使用相同的 Idempotency-Key。
  • 每笔订单的 out_order_no 唯一,并与 HTP id 一起保存。
  • 金额为最多 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 账号做一笔小额真实收款并退款,确认控制台和你的数据库都有记录。