← На главную

Документация API

Обновлено: 16 июня 2026

Публичный API для интеграции приёма платежей. Запросы аутентифицируются по HMAC-подписи с использованием пары ключей (public key + секрет), которую вы создаёте в разделе «API-ключи» личного кабинета.

Базовый URL

https://<ваш-домен>/v1
# в тестовом окружении: http://localhost:3000/v1

Аутентификация (HMAC)

К каждому запросу добавьте три заголовка:

  • X-Api-Key — публичный ключ (public key).
  • X-Timestamp — текущее unix-время в миллисекундах. Допустимое расхождение с сервером — 5 минут (защита от повторов).
  • X-Signature hex(HMAC_SHA256(secret, timestamp + "." + rawBody)), где rawBody — точное тело запроса (та же строка, что отправляется).

Создать счёт

POST /v1/invoices — тело как у формы счёта: для фиатной цены priceMode="FIAT" и priceCurrency = USD или RUB; для цены прямо в крипте — priceMode="CRYPTO" и priceCurrency = актив (например USDT_TRC20). Рублёвая сумма пересчитывается в криптоэквивалент по курсу ЦБ РФ.

const crypto = require('crypto');

const BASE = "https://api.smplpay.me"; // в тестовом окружении: http://localhost:3000
const PUBLIC_KEY = '<ваш X-Api-Key>';
const SECRET = '<ваш секрет>'; // показывается один раз при создании ключа

async function createInvoice() {
  const ts = Date.now().toString(); // unix-время в миллисекундах
  const body = JSON.stringify({
    priceMode: 'FIAT',
    priceCurrency: 'RUB',   // или 'USD', или актив для CRYPTO
    priceAmount: '1000',    // 1000 ₽ → эквивалент в крипте по курсу ЦБ РФ
  });

  // Подпись: hex(HMAC_SHA256(secret, `${timestamp}.${rawBody}`))
  const signature = crypto.createHmac('sha256', SECRET).update(ts + '.' + body).digest('hex');

  const res = await fetch(BASE + '/v1/invoices', {
    method: 'POST',
    headers: {
      'content-type': 'application/json',
      'X-Api-Key': PUBLIC_KEY,
      'X-Timestamp': ts,
      'X-Signature': signature,
    },
    body,
  });
  console.log(await res.json()); // { id, ... } — id счёта
}

В ответ придёт объект счёта с полем id. Отдайте покупателю ссылку на оплату вида <checkout>/<id> или встройте виджет оплаты.

Получить счёт / котировку

  • GET /v1/invoices/:id — статус счёта, charges и платежи.
  • GET /v1/invoices/:id/quote — суммы к оплате по каждому поддерживаемому активу с зафиксированным курсом.

Вебхуки

Укажите callbackUrl в счёте или дефолтный URL вебхуков в разделе «Настройки» — Сервис будет уведомлять о смене статуса (оплачен, частично, подтверждён). Доставки подписываются HMAC; лог доставок виден в разделе «Вебхуки».

Вопросы: ceo@liontech.me · © 2026 SmplPay · LionTech