Fiat On-Ramp iFrame API

API Reference

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

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

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

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

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