开发者
一次签名调用。一个回调。一条账目。
整个对接就是:一个你签名的 REST 接口、一个你验签的回调,以及一个随时可以再查一次的状态。
创建一笔支付
用 HMAC-SHA256 对路径和 JSON 请求体签名 —— 注意签名中间件会去掉 /api 前缀,因此虽然你 POST 到 /api/v2/payins,签名对象是 /v2/payins。
示例代码使用 api.example.com —— 你的正式环境地址会在开通时下发。
create-payment.sh
curl -X POST https://api.example.com/v2/payins \
-H "Content-Type: application/json" \
-H "X-API-Key: <your-api-key>" \
-H "X-Timestamp: <unix-timestamp>" \
-H "X-Signature: <hmac-sha256-of-path>" \
-d '{
"merchant_ref_id": "unique-order-ref-id-2025001",
"currency_code": "THB",
"request_amount": 1000,
"customer_id": "0198cbc6-fd02-7459-a671-78c306d0a1ad",
"customer_account_id": "0198cbc7-35ec-7c8c-8994-d3ac3e7f5255",
"redirect_url": "https://merchant.example.com/payment/success"
}'{
"id": "0198cbff-db9b-7b6a-9f82-6a55fdfb6575",
"merchant_ref_id": "unique-order-ref-id-2025001",
"status": "pending",
"request_amount": 1000,
"paypage_url": "https://pay.example.com/pay/0198cbff-db9b-7b6a-9f82-6a55fdfb6575"
}处理 Webhook —— 已验签且幂等
我们会一直重试直到你的服务器返回 HTTP 200。签名是对原始请求体计算的,把解析后的 JSON 重新序列化会导致验签不通过。
接口参考
API 一览
| 接口 | 说明 |
|---|---|
| /v2/payins | 创建收款单(推荐) |
| /v1/payins/:id | 查询单笔收款 |
| /v2/payins/:id/cancel | 取消待支付的收款单 |
| /v1/payouts | 创建付款单 |
| /v1/payouts/:id | 查询单笔付款 |
| /v1/settlements | 结算到你自己的账户 |
| /v1/payins/:id/slip | 提交转账回单 |
| /me/balances | 按币种查看你的余额 |
| /me/limits | 你的结算与交易额度 |
| /me/issues | 提交并跟踪工单 |
沙箱
为收款与付款提供专用调试接口,正式上线前可以把整条链路完整跑通。
