CryptoCloud
Русский
  • Начало работы
    • Обзор документации
    • Принцип работы интеграции
    • Тестирование интеграции
    • Получение API ключей
    • SDK для работы с API
    • Интеграция иконок и кнопок
    • Инструкция по оплате криптовалютой
    • Поддержка и FAQ
  • API REFERENCE V2
    • Авторизация запросов
    • Создание счета
    • Отмена счета
    • Список счетов
    • Информация о счете
    • Баланс
    • Статистика
    • Статический кошелек
    • Вывод средств
    • Автоматический POSTBACK
  • API REFERENCE V1 (OLD)
    • Авторизация запросов
    • Создание счета
    • Проверка статуса счета
    • Автоматический POSTBACK
  • Модули для CMS
    • Список CMS-модулей
      • WooCommerce
      • OpenCart
      • Shopify
      • Tilda
      • GetCourse
      • XenForo 2
      • PrestaShop
      • Drupal
      • WHMCS
  • Формы и кнопки
    • HTML-виджет
      • HTML-форма
      • HTML-кнопка
  • Сайт CryptoCloud
  • База знаний
  • Брендбук
Powered by GitBook
On this page
  • Создание счета
  • Описание параметров
  • Описание дополнительных параметров
  • Описание параметров ответа
  • Пример запроса

Was this helpful?

  1. API REFERENCE V2

Создание счета

Подробное описание запроса на создание счета.

Для того, чтобы создать счет, необходимо отправить POST запрос.

Создание счета

POST https://api.cryptocloud.plus/v2/invoice/create

Query Parameters

Name
Type
Description

locale

string

?locale=en, ?locale=ru

Headers

Name
Type
Description

Authorization*

string

Token <API KEY>

Request Body

Name
Type
Description

shop_id*

string

Уникальный идентификатор магазина из личного кабинета

amount*

decimal

Сумма платежа в USD

currency

string

Доступные валюты для конвертации: USD, UZS, KGS, KZT, AMD, AZN, BYN, AUD, 'TRY', AED, CAD, CNY, HKD, IDR, INR, JPY, PHP, SGD, THB, VND, MYR, RUB, UAH, EUR, GBP. По умолчанию устанавливается валюта USD

add_fields

dict

Дополнительные параметры

order_id

string

Произвольный номер счета во внешней системе

email

string

Email адрес плательщика

{
    "status": "success",
    "result": {
        "uuid": "INV-XXXXXXXX",
        "created": "2023-01-01 12:00:00.000000",
        "address": "",
        "expiry_date": "2023-01-02 12:00:00.000000",
        "side_commission": "client",
        "side_commission_cc": "client",
        "amount": 100.0,
        "amount_usd": 100.0,
        "amount_in_fiat": 100.0,
        "fee": 1.4,
        "fee_usd": 1.4,
        "service_fee": 1.9,
        "service_fee_usd": 1.9,
        "type_payments": "crypto",
        "fiat_currency": "USD",
        "status": "created",
        "is_email_required": false,
        "link": "https://pay.cryptocloud.plus/XXXXXXXX",
        "invoice_id": null,    
        "currency": {
            "id": 4,
            "code": "USDT",
            "fullcode": "USDT_TRC20",
            "network": {
                "code": "TRC20",
                "id": 4,
                "icon": "https://cdn.cryptocloud.plus/currency/crypto/TRX.svg",
                "fullname": "Tron"
            },
            "name": "Tether",
            "is_email_required": false,
            "stablecoin": true,
            "icon_base": "https://cdn.cryptocloud.plus/currency/icons/main/usdt.svg",
            "icon_network": "https://cdn.cryptocloud.plus/icons-currency/USDT-TRC20.svg",
            "icon_qr": "https://cdn.cryptocloud.plus/currency/icons/stroke/usdt.svg",
            "order": 1
        },
        "project": {
            "id": 1,
            "name": "TestShop",
            "fail": "https://TestShop.com/fail",
            "success": "https://TestShop.com/success",
            "logo": "None"
        },
        "test_mode": false
    }
}

Если не передать ни один обязательный параметр

{
    "status": "error",
    "result": {
        "amount": "amount not passed.",
        "shop_id": "shop_id not passed."
    }
}

Ошибка при некорректной сумме счета

{
    "status": "error",
    "result": {
        "amount": "Invalid value amount."
    }
}

Ошибка при указании неподдерживаемой валюты

{
    "status": "error",
    "result": {
        "currency": "Invalid account currency specified. Available currencies 'USD', 'UZS', 'KGS', 'KZT', 'AMD', 'AZN', 'BYN', 'AUD', 'TRY', 'AED', 'CAD', 'CNY', 'HKD', 'IDR', 'INR', 'JPY', 'PHP', 'SGD', 'THB', 'VND', 'MYR', 'RUB', 'UAH', 'EUR', 'GBP'."
    }
}

Описание параметров

Название параметра
Тип данных
Значения
Пример

shop_id

String

xBAivfPIbskwuEWj

amount

Float, String

100.5, "100.5"

currency

String

'USD', 'UZS', 'KGS', 'KZT', 'AMD', 'AZN', 'BYN', 'AUD', 'TRY', 'AED', 'CAD', 'CNY', 'HKD', 'IDR', 'INR', 'JPY', 'PHP', 'SGD', 'THB', 'VND', 'MYR', 'RUB', 'UAH', 'EUR', 'GBP'

USD

add_fields

Dict

Дополнительные параметры создания счет. Подробное описание ниже

Описание дополнительных параметров

Название параметра
Тип данных
Значения
Пример
Описание

time_to_pay

Dict

{ "hours": 24, "minutes": 0 }

Время жизни счета

email_to_send

String

email@gmail.com

При указании почты в параметре произойдет автоматическая отправка счета на данную почту

available_currencies

List[String]

BTC, LTC, TRX, USDT_TRC20, USDD_TRC20 , ETH, USDT_ERC20, USDC_ERC20, TUSD_ERC20, SHIB_ERC20, ETH_ARB, USDT_ARB, USDC_ARB, ETH_OPT, USDT_OPT, USDC_OPT, ETH_BASE, USDC_BASE, BNB, USDT_BSC, USDC_BSC, TUSD_BSC, TON, USDT_TON, SOL, USDT_SOL, USDC_SOL

[ "USDT_TRC20", "ETH", "BTC" ]

Валюты для оплаты

cryptocurrency

String

BTC, LTC, TRX, USDT_TRC20, USDD_TRC20 , ETH, USDT_ERC20, USDC_ERC20, TUSD_ERC20, SHIB_ERC20, ETH_ARB, USDT_ARB, USDC_ARB, ETH_OPT, USDT_OPT, USDC_OPT, ETH_BASE, USDC_BASE, BNB, USDT_BSC, USDC_BSC, TUSD_BSC, TON, USDT_TON, SOL, USDT_SOL, USDC_SOL

ETH

Выбор валюты оплаты за пользователя. При указании валюты на странице оплаты будут отображаться реквизиты. Так же адрес будет выдан в ответе на запрос

period

String

month, week, day

week

Период для повторного создания счета (только если заполнен email для автоматической отправки счета)


Описание параметров ответа

На успешный запрос приходит ответ со статусом success и объектом result.

  • uuid — уникальный идентификатор счета с префиксом INV.

  • created — время создания счета по UTC +0 в формате YYYY-MM-DD HH:MI:SS.FFFFFF.

  • address — адрес для оплаты. Будет предзаполнен только в случае выбора криптовалюты для оплаты. Для выбора валюты за клиента необходимо в add_fields.cryptocurrency указать доступную в проекте валюту.

  • expiry_date — дата истечения срока действия счета по UTC +0 в формате YYYY-MM-DD HH:MI:SS.FFFFFF. После истечения срока действия счет переведется в статус canceled, если оплата не поступила.

  • amount — сумма счета.

  • amount_usd — сумма счета в USD.

  • amount_in_fiat — сумма счета в валюте создания (зависит от параметра currency).

  • fee — трансферная комиссия счета.

  • fee_usd — трансферная комиссия счета в USD.

  • service_fee — комиссия сервиса.

  • service_fee_usd - комиссия сервиса в USD.

  • fiat_currency — код фиатной валюты, в которой был создан счет.

  • status — статус счета. При отправке запроса на создание счета всегда равен created. Так же есть статусы paid (оплачен), partial (оплачен частично), overpaid (переплачен) и canceled (отменен).

  • is_email_required — параметр для обязательного заполнения почты в счете.

  • link — ссылка на страницу счета.

  • currency — объект выбранной криптовалюты в счете. Так же содержит объект network — информация о выбранной сети валюты.

  • project — объект с информацией о проекте.

  • test_mode — признак тестового счета.

Пример запроса

Эти примеры показывают, как можно отправить запрос на создание счета. Обратите внимание, что необходимо предоставить ваш API ключ в заголовке Authorization для успешной авторизации запроса.

curl -X POST \
     -H "Authorization: Token <API KEY>" \
     -H "Content-Type: application/json" \
     -d '{"amount": 100, "shop_id": "xBAivfPIbskwuEWj", "currency": "USD"}' \
     "https://api.cryptocloud.plus/v2/invoice/create"
import requests
import json

url = "https://api.cryptocloud.plus/v2/invoice/create"
headers = {
    "Authorization": "Token <API KEY>",
    "Content-Type": "application/json"
}

data = {
    "amount": 100,
    "shop_id": "xBAivfPIbskwuEWj",
    "currency": "USD"
}

response = requests.post(url, headers=headers, json=data)

if response.status_code == 200:
    print("Success:", response.json())
else:
    print("Fail:", response.status_code, response.text)
Fetch.js:
const url = 'https://api.cryptocloud.plus/v2/invoice/create';
const headers = new Headers({
    'Authorization': 'Token <API KEY>',
    'Content-Type': 'application/json'
});
const data = {
    amount: 100,
    shop_id: 'xBAivfPIbskwuEWj',
    currency: 'USD'
};

fetch(url, {
    method: 'POST',
    headers,
    body: JSON.stringify(data)
})
.then(response => {
    if (response.ok) {
        return response.json();
    } else {
        return Promise.reject('Creation Error');
    }
})
.then(data => {
    console.log('Success:', data);
})
.catch(error => {
    console.error('Fail:', error);
});
Ajax.js:
$.ajax({
    url: 'https://api.cryptocloud.plus/v2/invoice/create',
    method: 'POST',
    headers: {
        'Authorization': 'Token <API KEY>',
        'Content-Type': 'application/json'
    },
    data: JSON.stringify({
        amount: 100,
        shop_id: 'xBAivfPIbskwuEWj',
        currency: 'USD'
    }),
    success: function(data) {
        console.log('Success:', data);
    },
    error: function(error) {
        console.error('Fail:', error);
    }
});
Axios.js:
const axios = require('axios');

const url = 'https://api.cryptocloud.plus/v2/invoice/create';
const headers = {
    'Authorization': 'Token <API KEY>',
    'Content-Type': 'application/json'
};
const data = {
    amount: 100,
    shop_id: 'xBAivfPIbskwuEWj',
    currency: 'USD'
};

axios.post(url, data, { headers })
    .then(response => {
        console.log('Success:', response.data);
    })
    .catch(error => {
        console.error('Fail:', error);
    });
cURL:
<?php
$url = "https://api.cryptocloud.plus/v2/invoice/create";
$headers = array(
    "Authorization: Token <API KEY>",
    "Content-Type: application/json"
);

$data = array(
    "amount" => 100,
    "shop_id" => "xBAivfPIbskwuEWj",
    "currency" => "USD"
);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if($http_code == 200){
    echo "Success: " . $response;
} else {
    echo "Fail: " . $http_code . " " . $response;
}

curl_close($ch);
?>
File_get_contents:
<?php
$url = "https://api.cryptocloud.plus/v2/invoice/create";
$headers = array(
    "http" => array(
        "header" => "Authorization: Token <API KEY>\r\n" .
                    "Content-Type: application/json\r\n",
        "method" => "POST",
        "content" => json_encode(array(
            "amount" => 100,
            "shop_id" => "xBAivfPIbskwuEWj",
            "currency" => "USD"
        )),
    ),
);

$context  = stream_context_create($headers);
$response = file_get_contents($url, false, $context);
$http_code = $http_response_header[0];

if(strpos($http_code, "200")){
    echo "Success: " . $response;
} else {
    echo "Fail: " . $http_code . " " . $response;
}
?>
PreviousАвторизация запросовNextОтмена счета

Last updated 16 days ago

Was this helpful?

side_commission — сторона оплаты .

side_commission_сс — сторона оплаты .

Мы регулярно работаем над улучшением документации сервиса для разработчиков. Пожалуйста, оцените качество и полезность материалов .

трансферной комиссии
комиссии сервиса
по ссылке