开发者
创建发票
一次POST请求即可创建发票,并返回支付页面链接。客户会在该页面选择币种和网络。
请求
curl
curl -X POST https://api.crybit.net/api/v1/payments \
-H "X-Public-Key: pk_…" \
-H "X-Private-Key: sk_…" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"amount":1490,"currency":"RUB","order_id":"ORD-1048","purpose":"Order 1048"}'| 字段 | 含义 |
|---|---|
amount | 必填。数值最低为0.01。由于当商户承担手续费时,手续费不能超过发票金额,因此存在一个以USDT计的最低限额:可通过 GET /api/payments/quote 查询当前的最低限额。 |
currency | 必填。可为法定货币(RUB、USD、EUR、CNY、GBP、CHF、JPY、KZT等主要货币)或USDT/USDC。金额将按实时汇率转换。 |
order_id | 您自己的订单ID,最多80个字符。留空时,CryBit会自动生成CB-…形式的ID。 |
purpose | 描述信息,最多240个字符。 |
ttl_minutes | 有效期为5到1440分钟,默认为30分钟。 |
return_url | 客户付款后返回的地址(http或https,最多500个字符)。留空时使用商户的默认返回URL。 |
crypto, network | 可选。同时传入两者,即可在响应中一次性获得地址、金额和二维码,例如USDT和TRC-20。 |
confirmation | 可选。传入{"type":"embedded"}以启用嵌入式小组件。响应中始终包含该token。 |
响应
响应状态码为201,包含发票对象。请将客户引导至callback_url(即支付页面)。如果未指定crypto和network,needs_method将为true,客户可在该页面自行选择。
JSON
{
"uuid": "28d0ff38-949c-435e-ad41-c81c219b3597",
"order_id": "ORD-1048",
"amount": 1490,
"currency": "RUB",
"status": "waiting",
"sandbox": true,
"needs_method": true,
"callback_url": "https://pay.crybit.net/28d0ff38-949c-435e-ad41-c81c219b3597",
"confirmation": { "type": "embedded", "confirmation_token": "28d0ff38-…", "widget_url": "https://pay.crybit.net/widget.js" },
"expires_at": "2026-09-21T13:41:42+00:00"
}状态
GET /api/v1/payments/{uuid} 会返回同一个对象。状态包括waiting、paid、expired或cancelled。客户选择网络后,对象中会包含crypto、network、address和手续费信息;付款完成后,对象中会包含状态paid、txid和paid_at。当您查询一张已超过有效期的waiting发票时,其状态会变为expired。当手续费由商户承担时fee_payer为shop,当待付金额中已包含手续费时则为buyer。
FAQ
需要发送哪些请求头?
X-Public-Key和X-Private-Key,两者都是必需的。私钥缺失、错误或过期都会返回401。
是否有速率限制?
每个密钥每分钟最多60次请求。
