API Платежів

Кінцеві точки для платіжних шлюзів, поповнення балансу, вебхуків та завантаження квитанцій на FonProxy.

Updated 2026-04-09 16:13:00
API Платежів

Для аутентифікації, формату помилок та загальних заголовків, дивіться Загальна інформація API.

Дивіться payments.md для повної архітектури, діаграм потоків та посібника з інтеграції шлюзів.

Шлюзи

Список платіжних шлюзів Auth required

GET /payment/gateways

Список доступних платіжних шлюзів.

Відповідь

{
  "gateways": [
    {
      "key": "monobank",
      "name": "Monobank",
      "description": "Український необанк. Оплата з Visa/Mastercard, Apple Pay, Google Pay.",
      "logo": "/assets/gateways/monobank.png",
      "website": "https://monobank.ua",
      "supportedCurrencies": ["USD", "EUR", "UAH"],
      "allCurrencies": true,
      "allRegions": true,
      "estimatedFee": {
        "percent": 2.0,
        "fixed": 0,
        "currency": "USD",
        "description": "2% за транзакцію"
      },
      "minAmount": 0.50,
      "maxAmount": 29999,
      "requiresMeta": false
    },
    ...
  ]
}

Отримати схему мета-поля шлюзу Auth required

GET /payment/gateways/:key/meta

Отримайте схему мета-поля для шлюзу (коли requiresMeta: true).

Параметри

Ім'яТипОписОбов'язково
:keystringКлюч шлюзуТак

Відповідь

{
  "meta": {
    "fields": [
      {
        "key": "coin",
        "type": "select",
        "label": "payment.meta.coin",
        "required": true,
        "options": [
          { "value": "USDT", "label": "Tether" }
        ]
      }
    ]
  }
}

Вирішити параметри мета-поля Auth required

POST /payment/gateways/:key/meta/options

Визначте параметри залежних полів на основі поточних виборів.

Параметри

Ім'яТипОписОбов'язково
:keystringКлюч шлюзуТак

Тіло запиту

{
  "selections": { "coin": "USDT" }
}

Відповідь

Повні мета-поля з вирішеними параметрами (така ж форма як GET /payment/gateways/:key/meta).


Поповнення

Попередній перегляд оплати Auth required

POST /payment/preview

Попередній перегляд платежу перед підтвердженням.

Тіло запиту

{
  "amount": 100,
  "gateway": "monobank"
}

Відповідь

{
  "preview": {
    "amount": 100,
    "currency": "UAH",
    "amountUsd": 2.42,
    "exchangeRate": 41.37,
    "fee": {
      "percent": 2.0,
      "fixed": 0,
      "estimatedFee": 0.05,
      "estimatedFeeDisplay": 2.07,
      "description": "2% за транзакцію"
    },
    "totalUsd": 2.47,
    "totalDisplay": 102.07,
    "lines": []
  }
}

Створити поповнення Auth required

POST /payment/topup

Створити поповнення. Повертає URL-адресу для переходу на сторінку оплати.

Тіло запиту

Ім'яТипОписОбов'язково
amountnumberСума в валюті, що відображається користувачевіТак
gatewaystringКлюч шлюзуТак
redirectUrlstringКуди користувач повертається після оплатиТак
orderIdstringНеобов'язковий ідентифікатор замовлення для зв'язкуНі
reasonstringНеобов'язкова причинаНі
gatewayMetaobjectНеобхідно, коли requiresMeta: trueНі*
{
  "amount": 100,
  "gateway": "monobank",
  "redirectUrl": "https://dashboard.fonproxy.io/topup/callback",
  "reason": "Поповнення балансу"
}

Відповідь

{
  "topupId": "k5Xz9qR2Wp",
  "pageUrl": "https://pay.mbnk.biz/abc123..."
}

Полінг статусу поповнення Auth required

GET /payment/topup/:id/status

Параметри

Ім'яТипОписОбов'язково
:idstringІдентифікатор поповненняТак

Відповідь

{
  "topupId": "k5Xz9qR2Wp",
  "status": "pending",
  "amount": 100,
  "currency": "UAH",
  "amountUsd": 2.42,
  "gateway": "monobank",
  "pageUrl": "https://pay.mbnk.biz/abc123...",
  "createdAt": "2026-03-15T12:00:00.000Z"
}
СтатусЗначення
pendingОчікування оплати
processingОчікування підтвердження
successБаланс поповнено
failedПомилка оплати
expiredСторінка оплати закінчилася

Квитанції

Перегляд квитанції (Публічно)

GET /receipts/:id

Переглянути квитанцію транзакції у вигляді вбудованого PDF. Публічно — ID діє як токен доступу.

Параметри

Ім'яТипОписОбов'язково
:idstringІдентифікатор квитанціїТак

Відповідь

Content-Type: application/pdf (вбудований)


Завантажити квитанцію (Публічно)

GET /receipts/:id/download

Завантажити квитанцію у форматі PDF як вкладений файл.

Параметри

Ім'яТипОписОбов'язково
:idstringІдентифікатор квитанціїТак

Відповідь

Content-Type: application/pdf (вкладений)

FonProxy API Платежів — Шлюзи, Поповнення та Квитанції