api

Обзор API и аутентификация

QuantaPay предоставляет простой REST-подобный API для создания платежей, запроса информации о транзакциях и управления вашим аккаунтом программным путем.

Обновлено: 09.03.2026

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

Endpoint

Все API-запросы отправляются на один endpoint:

POST https://cloud.quantapay.app/api.php

Content Type

Запросы используютapplication/x-www-form-urlencoded(стандартная кодировка HTML-форм).

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-balances" \
  -d "api-key=YOUR_API_KEY"

Authentication

Каждый API-запрос должен включать вашAPI Keyв качестве POST-параметра.

ParameterTypeRequiredDescription
api-keystringYesВаш API key. Находится в Settings → Account.
functionstringYesИмя вызываемой API-функции.

Getting Your API Key

  1. Войдите вcloud.quantapay.app
  2. Перейдите вSettings → Account
  3. Скопируйте свой API Key

Security: Храните свой API key в секрете. Не раскрывайте его в клиентском коде или публичных репозиториях.

HMAC Signature (Optional)

Дляcreate-checkout-sessionвы можете добавить проверку подписи HMAC-SHA256, чтобы предотвратить несанкционированное изменение запроса.

How It Works

  1. Сформируйте строку данных для подписи:{price}|{currency}|{order_id}|{timestamp}
  2. Сгенерируйте HMAC-SHA256, используя вашWebhook Secret Keyв качестве секрета.
  3. Включитеподписьивременную меткув ваш запрос

Пример (PHP)

$webhook_secret = 'your-webhook-secret-key';
$price = '49.99';
$currency = 'usd';
$order_id = 'ORD-12345';
$timestamp = time();

$sign_data = $price . '|' . $currency . '|' . $order_id . '|' . $timestamp;
$signature = hash_hmac('sha256', $sign_data, $webhook_secret);

// Include in your API request:
// signature={$signature}&timestamp={$timestamp}

Пример (Node.js)

const crypto = require('crypto');

const webhookSecret = 'your-webhook-secret-key';
const price = '49.99';
const currency = 'usd';
const orderId = 'ORD-12345';
const timestamp = Math.floor(Date.now() / 1000);

const signData = `${price}|${currency}|${orderId}|${timestamp}`;
const signature = crypto.createHmac('sha256', webhookSecret).update(signData).digest('hex');

Примечание: Временная метка должна отличаться от времени сервера не более чем на 5 минут, иначе запрос будет отклонен с ошибкой "Request expired".

Формат ответа

Успех

{
  "success": true,
  "response": { ... }
}

Ошибка

{
  "success": false,
  "error_code": "error-code-slug",
  "message": "Human-readable error description"
}

Коды ошибок

Код ошибкиDescription
missing-function-nameПараметрfunctionне был включен в запрос.
function-not-foundУказанное имя функции не существует.
api-key-not-foundПараметрapi-keyПараметр не был включен.
invalid-api-keyПредоставленный API-ключ неверен.
missing-argumentДля указанной функции отсутствует обязательный параметр.

Ограничения скорости

Строгих ограничений скорости нет, но чрезмерные запросы могут быть ограничены. При обычном использовании (менее 100 запросов в минуту) ограничение не применяется.