Мерчант API V1.0
Аутентификация и формат запросов
Общие требования
Все запросы к API требуют аутентификации через подпись запроса для обеспечения безопасной передачи данных.
Структура запроса
Все запросы отправляются методом POST. Тело запроса содержит:
data
: JSON-объект, закодированный в base64signature
: Подпись (SHA256(SECRET_KEY
+data
)), закодированная в base64
Создание заказа
URL: https://crypto-cash.world/merchant/api/v1/orders/create/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.amount
: Сумма заказа в фиатной валюте.currency
: Фиатная валюта заказа.number
: Номер заказа или уникальный идентификатор.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"paymentUrl": "https://crypto-cash.world/merchant/order/1/"
}
}
}
Получение списка заказов
URL: https://crypto-cash.world/merchant/api/v1/orders/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.page
(необязательно): Номер страницы. По умолчанию1
.pageSize
(необязательно): Количество элементов на странице. По умолчанию100
.
Пример ответа:
{
"code": 200,
"data": {
"items": [
{
"number": "1234",
"amount": "15.000",
"paymentType": "Оплата через терминал",
"paymentStatus": "Новый",
"createdAt": "17.08.2023 17:00:33",
"updatedAt": "18.08.2023 15:55:16"
},
{
"number": "12345",
"amount": "10.000",
"paymentType": "Оплата картой",
"paymentStatus": "Оплачено",
"createdAt": "17.08.2023 17:00:33",
"updatedAt": "18.08.2023 15:55:16"
}
]
}
}
Получение информации о заказе
URL: https://crypto-cash.world/merchant/api/v1/orders/retrieve/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.number
: Номер заказа или уникальный идентификатор.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"number": "1234",
"amount": "15.000",
"paymentType": "Оплата через терминал",
"paymentStatus": "Новый",
"createdAt": "17.08.2023 17:00:33",
"updatedAt": "18.08.2023 15:55:16"
}
}
}
Получение баланса
URL: https://crypto-cash.world/merchant/api/v1/balance/retrieve/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"accountAmount": "15.000",
"companyAmount": "20.000"
}
}
}
Вывод криптовалюты (USDT)
Осуществляется исключительно в валюте USDT
URL: https://crypto-cash.world/merchant/api/v1/balance/actions/withdrawal/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.address
: Номер аккаунта.amount
: Сумма вывода.memo
(необязательно): Примечание.network
: Сеть.
Пример ответа:
{
"code": 200,
"data": {
"item": {
"accountAmount": "15.000",
"companyAmount": "20.000"
}
}
}
Список сетей
URL: https://crypto-cash.world/merchant/api/v1/networks/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.currency
: Код криптовалюты.
Пример ответа:
{
"code": 200,
"data": {
"items": [
{"title": "ARBITRUM", "memo": false},
{"title": "CCHAIN", "memo": false},
{"title": "ESO", "memo": true}
]
}
}
Список криптовалют
URL: https://crypto-cash.world/merchant/api/v1/crypto-currencies/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.
Пример ответа:
{
"code": 200,
"data": {
"items": ["BTC", "ETH"]
}
}
Получение курсов фиатных валют
URL: https://crypto-cash.world/merchant/api/v1/fiat-currencies/rates/list/
Параметры (data):
publicKey
: Публичный ключ, связанный с аккаунтом мерчанта.
Пример ответа:
{
"code": 200,
"data": {
"items": {
"USD/UAH": "39.54",
"USD/PLN": "4.05"
}
}
}
Статусы заказов
- New
- Waiting
- Paid
- Not paid
- Underpaid
- Overpaid
- Canceled
Дополнительно:
Для варианта оплаты криптовалютой используются все статусы. Также для оплаты криптовалютой есть минимальное время для обработки платежа. По умолчанию это время составляет 2 часа. Данное время может быть изменено по желанию сервиса.
Ошибки
При возникновении ошибок в ответ будет возвращен список из кодов ошибок.
Пример ответа с ошибкой:
{
"errors": [1000]
}
Список ошибок:
- 1000 - Неверный запрос
- 2010 - Ошибка декодирования данных
- 2011 - Ошибка декодирования подписи
- 2020 - Неверная подпись
- 3000 - Компания не найдена
- 3001 - Заказ не найден
Вебхуки
Сервис предоставляет возможность настроить вебхуки, чтобы получать уведомления о событиях, связанных с изменением статуса заказа. Для настройки вебхука необходимо в настройках аккаунта указать URL, на который будут отправляться данные.
Формат вебхука:
data
: Поле содержит объект JSON с информацией о заказе, закодированный в строку base64.signature
: Подпись запроса, созданная на основе приватного ключа и данных (SECRET_KEY
+data
). Подпись кодируется в SHA256 и затем в base64.