Перейти к содержимому

Создать и отследить инвойс

Гайд охватывает полный цикл платежа: создание инвойса, отправка ссылки на оплату клиенту и подтверждение платежа


  1. Создайте инвойс: ваш бэкенд вызывает /invoice/create и получает pay_url.
  2. Отправьте ссылку: отправьте клиенту или встройте URL в свой интерфейс.
  3. Покупатель платит: он выбирает криптовалюту и сеть, затем отправляет точную сумму.
  4. Подтвердите оплату: проверьте is_paid через /invoice/info или получите уведомление по вебхуку.

Полный список параметров в описании эндпоинта.

Окно терминала
curl --request POST \
--url https://api.cru.cash/v1/invoice/create \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"amount": "100",
"currency": "USD",
"lifetime": 30,
"webhook": "https://example.com/webhook",
"payload": "{\"order_id\": \"A-1042\"}",
"ui": {
"description": "Payment for order #1042",
"redirect_url": "https://example.com/payment-success"
}
}'

Пример ответа

{
"invoice": {
"id": "179a4662-a6e0-4129-aeba-04c4c2a8f074",
"expires_at": 1773689470
},
"pay_url": "https://pay.cru.cash/invoice/179a4662-a6e0-4129-aeba-04c4c2a8f074",
"test_mode": false
}

Отправьте pay_url покупателю, чтобы он смог открыть страницу оплаты.


Когда у вас есть ID инвойса, отправляйте запросы к /invoice/info или ждите вебхук. Все поля ответа описаны в документации эндпоинта.

Окно терминала
curl --request POST \
--url https://api.cru.cash/v1/invoice/info \
--header 'Authorization: Bearer YOUR_API_KEY' \
--data '{
"invoice_id": "YOUR_INVOICE_ID"
}'

Пример ответа

{
"id": "179a4662-a6e0-4129-aeba-04c4c2a8f074",
"fiat_amount": "30",
"fiat_currency": "USD",
"crypto_amount": "0",
"network_fee": "0",
"crypto": "NONE",
"network": "NONE",
"pay_status": "not_paid",
"processing_status": "pending",
"is_paid": false,
"created_at": "2026-03-16T19:01:11Z",
"is_testing": false,
"payload": ""
}

Создаём инвойс и опрашиваем статус до подтверждения оплаты.

Окно терминала
RESPONSE=$(curl --silent --request POST \
--url https://api.cru.cash/v1/invoice/create \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"amount": "100",
"currency": "USD",
"lifetime": 30,
"webhook": "https://example.com/webhook",
"payload": "{\"order_id\": \"A-1042\"}",
"ui": {
"description": "Payment for order #1042",
"redirect_url": "https://example.com/payment-success"
}
}')
INVOICE_ID=$(echo $RESPONSE | grep -o '"id":"[^"]*"' | head -1 | cut -d'"' -f4)
PAY_URL=$(echo $RESPONSE | grep -o '"pay_url":"[^"]*"' | cut -d'"' -f4)
echo "Pay URL: $PAY_URL"
while true; do
INFO=$(curl --silent --request POST \
--url https://api.cru.cash/v1/invoice/info \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data "{\"invoice_id\": \"$INVOICE_ID\"}")
IS_PAID=$(echo $INFO | grep -o '"is_paid":[^,}]*' | cut -d':' -f2)
PAY_STATUS=$(echo $INFO | grep -o '"pay_status":"[^"]*"' | cut -d'"' -f4)
if [ "$IS_PAID" = "true" ]; then
echo "Payment confirmed"
break
fi
if [ "$PAY_STATUS" = "end" ]; then
echo "Invoice expired"
exit 1
fi
sleep 5
done
ЭндпоинтОписание
/invoice/createСоздать новый инвойс и получить ссылку на оплату
/invoice/infoПолучить детали инвойса и статус оплаты