Merchant Crypto-Cash API

Мерчант API V1.0

Аутентификация и формат запросов

Общие требования

Все запросы к API требуют аутентификации через подпись запроса для обеспечения безопасной передачи данных.

Структура запроса

Все запросы отправляются методом POST. Тело запроса содержит:

  • data: JSON-объект, закодированный в base64
  • signature: Подпись (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.