Entwickler
Rechnung erstellen
Eine einzige POST-Anfrage erstellt eine Rechnung und liefert den Link zur Zahlungsseite zurück. Dort wählt der Kunde eine Coin und ein Netzwerk aus.
Anfrage
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"}'| Feld | Bedeutung |
|---|---|
amount | Erforderlich. Eine Zahl ab 0,01. Es gibt ein Minimum in USDT, da die Netzwerkgebühr die Rechnung nicht übersteigen darf, wenn der Händler sie zahlt: Fragen Sie GET /api/payments/quote nach dem aktuellen Minimum. |
currency | Erforderlich. Fiat (RUB, USD, EUR, CNY, GBP, CHF, JPY, KZT und weitere gängige Währungen) oder USDT/USDC. Der Betrag wird zum aktuellen Kurs umgerechnet. |
order_id | Ihre eigene Bestell-ID, bis zu 80 Zeichen. Bleibt sie leer, generiert CryBit CB-…. |
purpose | Beschreibung, bis zu 240 Zeichen. |
ttl_minutes | Gültigkeitsdauer von 5 bis 1440 Minuten, standardmäßig 30. |
return_url | Wohin der Kunde nach der Zahlung zurückkehrt (http oder https, bis zu 500 Zeichen). Fällt andernfalls auf die Return-URL des Händlers zurück. |
crypto, network | Optional. Übergeben Sie beide, um Adresse, Betrag und QR-Code sofort in der Antwort zu erhalten, zum Beispiel USDT und TRC-20. |
confirmation | Optional. {"type":"embedded"} für das eingebettete Widget. Der Token ist immer in der Antwort enthalten. |
Antwort
Die Antwort ist 201 mit dem invoice-Objekt. Leiten Sie den Kunden zu callback_url (der Zahlungsseite) weiter. Ohne crypto und network ist needs_method true, und der Kunde wählt auf dieser Seite aus.
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"
}Status
GET /api/v1/payments/{uuid} liefert dasselbe Objekt zurück. Der Status ist waiting, paid, expired oder cancelled. Nachdem der Kunde ein Netzwerk gewählt hat, enthält das Objekt crypto, network, address und die Gebühr; nach der Zahlung enthält es status paid, txid und paid_at. Eine Rechnung im Status waiting, deren Gültigkeitsdauer abgelaufen ist, wird beim Abfragen zu expired. fee_payer ist shop, wenn der Händler die Gebühr zahlt, und buyer, wenn der zu zahlende Betrag sie bereits enthält.
FAQ
Welche Header sende ich?
X-Public-Key und X-Private-Key, beide erforderlich. Ein fehlender, falscher oder veralteter privater Schlüssel liefert 401 zurück.
Gibt es ein Rate Limit?
60 Anfragen pro Minute je Schlüssel.
