API Reference
Аутентификация и формат запросов
Все запросы к API требуют аутентификации через подпись запроса для обеспечения безопасной передачи данных.
Структура запроса
Все запросы отправляются методом POST. Тело запроса содержит два обязательных поля:
data
: JSON-объект, закодированный в base64signature
: Подпись запроса (SHA256(SECRET_KEY
+data
)), закодированная в base64
Запрос на покупку криптовалюты за фиатные валюты
URL: https://crypto-cash.world/merchant/api/v1/pay-fiat/form/retrieve/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.fiatAmount
: Сумма покупки в фиатной валюте.fiatCurrency
: Фиатная валюта.fiatXmlCurrency
: Фиатная валюта в XML формате. Необязательный параметр.ticker
: Тикер. Необязательный параметр если переданcurrency
иnetwork
.currency
: Криптовалюта. Необязательный параметр если переданticker
.network
: Подсеть криптовалюты. Необязательный параметр если переданticker
.address
: Номер криптокошелька.redirectUrl
: Ссылка для перенаправления после оплаты. Необязательный параметр.externalId
: Внешний ID. Необязательный параметр.email
: Почта пользователя для автозаполнения. Необязательный параметр.lang
: Язык формы.ip
: IP адрес пользователя.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"externalId": "195",
"url": "https://exchange.crypto-cash.world/?widget_id=0b50150a-1ba0-445e-8637-d62f887afadc&address=...&hide_address=true&signature=...&fiat_currency=BGN¤cy=USDT&networks=ERC20&fiat_amount=500.00&type=buy&fix_amount=true&fix_currency=true&fix_fiat_amount=true&fix_fiat_currency=true&merchant_transaction_id=...&lang=en&redirect_url=...",
}
}
}
Запрос на получения списка транзакций
URL: https://crypto-cash.world/merchant/api/v1/pay-fiat/payments/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.page
: Получение определённой страницы. По умолчанию 1. Необязательный параметр.pageSize
: Количество объектов на одну страницу. По умолчанию 100. Необязательный параметр.dateAfter
: Фильтр по дате. После указанной даты. Формат: 2025-01-09. Необязательный параметр.dateBefore
: Фильтр по дате. До указанной даты. Формат: 2025-01-17. Необязательный параметр.
Пример ответа:
{
"code": 200,
"data": {
"items": [
{
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"cryptoCurrency": "ETH",
"fiatCurrency": "EUR",
"network": "ARBITRUM",
"cryptoAmount": "0.01239591",
"fiatAmount": "50.000",
"address": "0x71C7656EC7ab88b098defB751B7401B5f6d897",
"externalId": "qwe23423e23d233",
"hash": "f985023e-046c-4450-83e6-b39c11ff5661",
"status": "New",
"createdAt": "2025-01-16T17:28:20.073086+02:00",
"updatedAt": "2025-01-16T17:28:20.073086+02:00"
},
{
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"cryptoCurrency": "ETH",
"fiatCurrency": "EUR",
"network": "ARBITRUM",
"cryptoAmount": "0.01239591",
"fiatAmount": "50.000",
"address": "0x71C7656EC7ab88b098defB751B7401B5f6d897",
"externalId": "qwe23423e23d233",
"hash": "f985023e-046c-4450-83e6-b39c11ff5661",
"status": "Waiting",
"createdAt": "17.08.2023 17:00:33",
"updatedAt": "17.08.2023 18:55:16"
},
{
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"cryptoCurrency": "ETH",
"fiatCurrency": "EUR",
"network": "ARBITRUM",
"cryptoAmount": "0.01239591",
"fiatAmount": "50.000",
"address": "0x71C7656EC7ab88b098defB751B7401B5f6d897",
"externalId": "qwe23423e23d233",
"hash": "f985023e-046c-4450-83e6-b39c11ff5661",
"status": "Paid",
"createdAt": "2025-01-16T17:28:20.073086+02:00",
"updatedAt": "2025-01-16T17:28:20.073086+02:00"
},
{
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"cryptoCurrency": "USDT",
"fiatCurrency": "EUR",
"network": "TRON",
"cryptoAmount": "0.0000000000",
"fiatAmount": "50.000",
"address": "TPAgKfYzRdK83Qocc4gXvEVu4jPKfeuer5",
"externalId": "12314324",
"hash": null,
"status": "Canceled",
"createdAt": "2025-01-16T17:28:20.073086+02:00",
"updatedAt": "2025-01-16T17:28:20.073086+02:00"
}
],
"pagination": {
"page": 1,
"pageSize": 10,
"total": 20
}
}
}
Запрос на получения конкретной транзакции
URL: https://crypto-cash.world/merchant/api/v1/pay-fiat/payments/retrieve/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.internalId
: Внутренний ID.externalId
: Внешний ID.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"id": "7b1fcc98-a402-47de-b950-da8df3073b4a",
"cryptoCurrency": "ETH",
"fiatCurrency": "EUR",
"network": "ARBITRUM",
"cryptoAmount": "0.01239591",
"fiatAmount": "50.000",
"address": "0x71C7656EC7ab88b098defB751B7401B5f6d897",
"externalId": "qwe23423e23d233",
"hash": "f985023e-046c-4450-83e6-b39c11ff5661",
"status": "New",
"createdAt": "2025-01-16T17:28:20.073086+02:00",
"updatedAt": "2025-01-16T17:28:20.073086+02:00"
}
}
}
Запрос на получение списка фиатных валют
URL: https://crypto-cash.world/merchant/api/v1/fiat-currencies/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.
Пример ответа:
{
"code": 200,
"data": {
"items": [
{"currency": "USD", "buy": false, "sale": true},
{"currency": "EUR", "buy": false, "sale": true},
{"currency": "UAH", "buy": true, "sale": false}
]
}
}
Примечание: buy : - признак использование валюты для продажи (false - нет, true - да) sale: - признак использования валюты для покупки (false - нет, true - да)
Запрос на получение списка криптовалют
URL: https://crypto-cash.world/merchant/api/v1/pay-fiat/crypto-currencies/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.
Пример ответа:
{
"code": 200,
"data": {
"items": [
{
"currency": "USDT",
"networks": ["TRON", "SOLANA"],
"tickers": ["USDTTRC20", "USDTSOL"]
}
]
}
}
Статусы заказов
- New - Заявка создана.
- Waiting - Деньги списаны с карты, ожидается завершение транзакции.
- Paid - Криптовалюта отправлена, хеш-транзакции доступен в личном кабинете.
- Notpaid - Криптовалюта не отправлена.
- Canceled - Операция не прошла: деньги не списались или произошла ошибка.
- Fail - Ошибка обработки, создайте новую заявку.
Ошибки
При возникновении ошибок в ответ будет возвращен список из кодов ошибок.
Пример ответа с ошибкой:
{
"errors": [1000]
}
Список ошибок:
- 1000 - Неверный запрос
- 2010 - Ошибка декодирования данных
- 2011 - Ошибка декодирования подписи
- 2020 - Неверная подпись
- 3000 - Компания не найдена
- 3001 - Заказ не найден
- 3002 - Транзакция не найдена
Вебхуки
Сервис предоставляет возможность настроить вебхуки, чтобы получать уведомления о событиях, связанных с изменением статуса заказа. Для настройки вебхука необходимо в настройках аккаунта указать URL, на который будут отправляться данные.
Формат вебхука:
data
: Поле содержит объект JSON с информацией о заказе, закодированный в строку base64.signature
: Подпись запроса, созданная на основе приватного ключа и данных (SECRET_KEY
+data
). Подпись кодируется в SHA256 и затем в base64.
Пример ответа на вебхук:
Запрос при изменении статуса заказа:
{
"data": "eyJpZCI6ICJlMGI5YTdiNS03ZDBkLTQ3YzUtODUzYS05ZTViNmJiNDBkMDUiLCAib3JkZXJJZCI6ICI3Nzc3IiwgInN0YXR1cyI6ICJQYWlkIiwgInVwZGF0ZWRBdCI6ICIyMDI0LTEwLTAxIDA5OjQxOjAwLjYwNjIzNyswMDowMCIsICJwdWJsaWNLZXkiOiAiYTJlMWI3YzgzODI2NGVmZTgyZmY1NzVlYzA3ZjhmYjQifQ==",
"signature": "911f6d9a7f46dc3878c3c691aae474d22955e58a4cc4a31e91a164a7a95368e1eyJpZCI6ICJlMGI5YTdiNS03ZDBkLTQ3YzUtODUzYS05ZTViNmJiNDBkMDUiLCAib3JkZXJJZCI6ICI3Nzc3IiwgInN0YXR1cyI6ICJQYWlkIiwgInVwZGF0ZWRBdCI6ICIyMDI0LTEwLTAxIDA5OjQxOjAwLjYwNjIzNyswMDowMCIsICJwdWJsaWNLZXkiOiAiYTJlMWI3YzgzODI2NGVmZTgyZmY1NzVlYzA3ZjhmYjQifQ=="
}
Изначальные данные в data:
{
"id": "e0b9a7b5-7d0d-47c5-853a-9e5b6bb40d05",
"orderId": "7777",
"status": "Paid",
"updatedAt": "2024-10-01 09:41:00.606237+00:00",
"publicKey": "a2e1b7c838264efe82ff575ec07f8fb4",
}
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.id
: Внутренний ID.orderid
: Внешний ID.
Внешняя ссылка для получения курсов
URL: https://crypto-cash.world/market/rates/export/xml/
URL: https://crypto-cash.world/market/rates/export/json/