Разработчикам
Создание счёта
Один 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 | Ваш идентификатор заказа, до 80 символов. Если пусто — CryBit сгенерирует CB-…. |
purpose | Назначение, до 240 символов. |
ttl_minutes | Срок жизни от 5 до 1440 минут, по умолчанию 30. |
return_url | Куда вернуть покупателя после оплаты (http/https, до 500 символов). Если пусто — берётся return_url мерчанта. |
crypto, network | Необязательно. Передайте оба поля, чтобы сразу получить в ответе адрес, сумму и QR-код, например USDT и TRC-20. |
confirmation | Необязательно. {"type":"embedded"} для встроенного виджета. Токен приходит в ответе всегда. |
Ответ
Ответ — 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 и комиссия; после оплаты — status paid, txid и paid_at. Просроченный waiting при запросе станет expired. fee_payer равно shop, если комиссию платит мерчант, и buyer, если сумма к оплате уже включает её.
Вопросы и ответы
Какие заголовки передавать?
X-Public-Key и X-Private-Key, нужны оба. Отсутствующий, чужой или старый приватный ключ даёт 401.
Есть ли лимит запросов?
60 запросов в минуту на ключ.
