Fiatside

Developers

Довідкові дані та пагінація

Каталоги платіжних систем, активів і країн — це те саме джерело, яке живить сайт. Вони містять ліміти, затримки, комісії та схеми полів — достатньо, щоб згенерувати форму виплати, а не кодувати її для кожної країни окремо.

Частота оновлення

Ці дані змінюються рідко, але змінюються: ліміт платіжної системи, час відсікання, відкриття країни. Оновлюйте їх принаймні щодня і не заморожуйте у своєму коді. Кожен запис містить дату останньої ручної перевірки: якщо минуло більше шести місяців, вважайте, що його час перевірити.

01

Пагінація

Курсорна пагінація, а не числові зсуви. Зсув пропускає або дублює елементи, щойно список змінюється між двома сторінками; курсор вказує на стабільну позицію.

Запитhttp
GET /api/v1/rails?limit=50&cursor=cJ0xNzg4MzU2OTgx
Відповідьjson
{
  "data": [ /* … */ ],
  "next_cursor": "cJ0xNzg4MzU3MTEy"
}
  • limit за замовчуванням дорівнює 50, максимум 100. Більше значення обмежується максимумом, а не відхиляється.
  • next_cursor має значення null на останній сторінці. Це єдиний сигнал кінця: не робіть висновок про кінець із короткої сторінки.
  • Курсор є непрозорим і не має гарантованого терміну дії. Не зберігайте його як постійний ідентифікатор і не створюйте власний.
  • Порядок стабільний протягом одного запуску пагінації. Елемент, доданий під час перегортання сторінок, з'явиться під час наступного повного запуску, а не в середині поточного.
GET/api/v1/railsPublished contract, not open

Список методів виплати

Каталог каналів виплат із валютою, країнами обслуговування, затримками p50 та p95, правилами робочих днів, часом відсікання, лімітами на операцію в дрібних одиницях, комісіями та схемою полів бенефіціара. Ця схема дозволяє вам генерувати форму виплати, а не кодувати її для кожної країни окремо.

Автентифікація: Authorization: Bearer … Див. автентифікацію

Параметри

Параметри
ПолеТипОпис
countrystringФільтр ISO 3166-1 alpha-2.
currencystringФільтр ISO 4217.
phasestringlive, beta, planned або never.
limitintegerРозмір сторінки, від 1 до 100, за замовчуванням 50.
cursorstringНепрозорий курсор, повернутий попереднім викликом.
Запитbash
curl -sS 'https://fiatside.com/api/v1/rails?country=BR' \
  -H 'Authorization: Bearer sk_live_...'
Відповідь — опублікований контрактjson
{
  "data": [
    {
      "id": "br_pix",
      "slug": "pix",
      "name": "PIX",
      "kind": "instant_bank",
      "currency": "BRL",
      "countries": ["BR"],
      "phase": "live",
      "settlement": { "p50Minutes": 1, "p95Minutes": 10, "businessDaysOnly": false },
      "limits": { "minMinor": 1000, "maxMinor": 5000000, "decimals": 2 },
      "fees": { "fixedMinor": 0, "bps": 0 },
      "fields": [
        { "name": "pixKeyType", "type": "select", "required": true },
        { "name": "pixKey", "type": "text", "required": true, "maxLength": 77 },
        { "name": "taxId", "type": "text", "required": true, "pattern": "^[0-9]{11}$" }
      ],
      "verifiedAt": "2026-09-02"
    }
  ],
  "next_cursor": null
}
  • Закритий канал повертається зі своєю фазою та причиною, а не видаляється зі списку. Інтеграція, яка не бачить, чому канал зник, звертається до власної підтримки.

Можливі помилки: unauthorized, invalid_request. Повний каталог

GET/api/v1/assetsPublished contract, not open

Список прийнятих активів

Активи, прийняті для внесення, з десятковими знаками базової одиниці, мережами, мінімальним депозитом, тривалістю фіксації курсу та, де доречно, причиною, чому актив не пропонується.

Автентифікація: Authorization: Bearer … Див. автентифікацію

Параметри

Параметри
ПолеТипОпис
networkstringПовертає лише активи, доступні в цій мережі.
Запитbash
curl -sS 'https://fiatside.com/api/v1/assets?network=tron' \
  -H 'Authorization: Bearer sk_live_...'
Відповідь — опублікований контрактjson
{
  "data": [
    {
      "id": "usdt",
      "ticker": "USDT",
      "name": "Tether",
      "decimals": 6,
      "networks": ["tron", "ethereum", "bsc", "solana", "polygon", "arbitrum"],
      "stablecoin": true,
      "quoteLockSeconds": 1800,
      "minDepositBase": "20000000",
      "phase": "live"
    }
  ],
  "next_cursor": null
}
  • minDepositBase виражено в БАЗОВИХ одиницях (20000000 = 20 USDT з 6 десятковими знаками). Нижче цього порогу вартість мережі з'їдає більшу частину операції.

Можливі помилки: unauthorized. Повний каталог

GET/api/v1/countriesPublished contract, not open

Список країн

Країни, що обслуговуються, країни, що готуються, та відхилені країни. Відхилена країна повертається з причиною: міжнародні санкції, обмежувальні заходи або неприйнятний ризик відмивання грошей.

Автентифікація: Authorization: Bearer … Див. автентифікацію

Параметри

Параметри
ПолеТипОпис
statusstringopen, coming або restricted.
Запитbash
curl -sS 'https://fiatside.com/api/v1/countries?status=open' \
  -H 'Authorization: Bearer sk_live_...'
Відповідь — опублікований контрактjson
{
  "data": [
    { "code": "BR", "name": "Brasil", "currency": "BRL", "status": "open", "rails": ["br_pix", "paypal", "wise", "swift"] },
    { "code": "IR", "name": "Iran",   "currency": null,  "status": "restricted", "reason": "international_sanctions" }
  ],
  "next_cursor": null
}

Можливі помилки: unauthorized. Повний каталог

02

Схема полів отримувача

Кожна платіжна система описує необхідні поля, з їхнім шаблоном валідації, нормалізацією та довідковим текстом. Це дозволяє згенерувати правильну форму для країни, яку ви ніколи не інтегрували.

Одне поле схемиjson
{
  "name": "iban",
  "label": { "fr": "IBAN", "en": "IBAN" },
  "type": "iban",
  "required": true,
  "pattern": "^[A-Z]{2}[0-9]{2}[A-Z0-9]{11,30}$",
  "normalize": "upper",
  "help": {
    "fr": "Sans espaces. Nous verifions la cle de controle avant de valider la commande.",
    "en": "No spaces. We validate the checksum before confirming your order."
  }
}

Перевірка за шаблоном відбувається і на вашому боці, і на нашому: ваша економить користувачу зайвий обмін запитами, наша є авторитетною. Довідковий текст надається обома мовами, і його варто показувати: він запобігає більшості відхилених виплат, які майже завжди спричинені помилкою у форматі, а не збоєм.