商户 API 文档
统一响应 {code, message, data},code=0 成功;订单状态机:0 待处理 / 1 处理中 / 2 成功 / 3 失败 / 4 退汇。
1. 签名机制 (RSA-SHA256)
- 在安全中心创建 RSA 密钥对(2048/4096 位),平台保留公钥,私钥仅生成时展示一次。
- 待签字符串:`METHOD\nPATH\nTIMESTAMP\nNONCE\nBODY`(GET 无 BODY 按空字符串)。
- RSA-PKCS1v15 + SHA256 签名,输出 Base64 编码。
X-Api-Key: 你的 API Key
X-Timestamp: Unix 秒级(偏差 ±5 分钟)
X-Nonce: UUID v4(防重放)
X-Signature: Base64 签名
幂等性 (X-Idempotency-Key):同键重复提交不会重复下单;签名开关由平台系统配置 SIGNATURE_REQUIRED 控制。
2. 接口总览
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/payout | 代付下单(order_id/amount/currency/recipient/purpose/metadata.channel) |
| POST | /api/payout/batch | 批量代付 |
| GET | /api/order/{id} | 查询订单(商户单号或平台单号) |
| GET | /api/payouts | 订单列表(分页/状态/关键字/日期) |
| GET | /api/balance | 余额(IDR 结算本币) |
| GET | /api/balance/changes | 变账记录 |
| GET | /api/channels | 可用国家×渠道目录 |
| GET | /api/banks?country= | 银行目录(24h 缓存) |
| GET | /api/dicts | 业务字典(枚举文案) |
| GET | /api/rate?from=&to= | 汇率查询 |
| POST | /api/token | API 接入登录 {api_key, api_secret}(兼容历史接入) |
7. 回调通知 (Webhook)
当订单状态变更时,平台会主动向商户配置的 Webhook URL 发送 POST 请求;回调同样使用 RSA-SHA256 签名。回调超时 5 秒,需返回 HTTP 2xx 表示成功,否则按指数退避重试 5 次。查询代付订单的最终状态建议轮询间隔 ≥ 30 秒,最多 60 次后停止并改用 Webhook。
5. 错误码
10002 Token 过期 · 调用 /api/token/refresh 10003 签名错误 / 无效密钥 / IP 不在白名单
10030 权限不足(子账户角色越权) 10004 订单不存在 重复请求 幂等键冲突
触发限流 · 10 req/s;系统异常 · 联系客服并提供 Request ID。