开发者

创建发票

一次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次请求。

更多

获取API密钥