ФИН·АС
Sandbox

Тестовая интеграция с API ФИН-АС

Получите тестовый ключ за 5 секунд и протестируйте всю цепочку до запуска реальных продаж — без оплаты, без последствий, без модерации.

1. Получите тестовый API-ключ

Без регистрации, без email. Один клик — получаете ключ и уникальный код партнёра, ниже примеры использования.

Чем sandbox отличается от прод

Что одинаково

  • Все эндпоинты доступны
  • Полные ответы API, валидация, идемпотентность
  • Сертификаты генерируются (формат `FINS-{код-партнёра}-XXXXXXXX`)
  • Транзакции сохраняются в БД, доступны через GET

Что отличается

  • Префикс API-ключа: `pk_test_*` (прод: `pk_live_*`)
  • Тестовые транзакции исключены из расчётов с партнёром (актов)
  • В админке помечены бейджем «TEST»
  • Можно создавать неограниченное количество транзакций

Готовые curl-примеры

Замените {API_KEY} на ключ из формы выше. Все запросы возвращают JSON. Если предпочитаете GUI — скачайте Postman-коллекцию (4 эндпоинта + негативные сценарии, переменные настроены).

1. Получить список доступных пакетов

Используйте slug пакета в следующем шаге

curl https://fin-ac.ru/api/v1/partners/packages \
  -H "Authorization: Bearer {API_KEY}"

2. Создать транзакцию (выдать пакет клиенту)

external_id — любой уникальный ID из вашей системы для защиты от дублей

curl -X POST https://fin-ac.ru/api/v1/partners/transactions \
  -H "Authorization: Bearer {API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "test-001",
    "package_slug": "individual-medium",
    "client": {
      "phone": "+79001234567",
      "email": "test@example.com",
      "first_name": "Иван",
      "last_name": "Тестов"
    }
  }'

2b. Создать транзакцию с контекстом займа (для МКК)

loan_context — опциональное поле. Передаёт параметры выданного займа, чтобы наши отчёты учитывали реальную долговую ситуацию клиента.

curl -X POST https://fin-ac.ru/api/v1/partners/transactions \
  -H "Authorization: Bearer {API_KEY}" \
  -H "Content-Type: application/json" \
  -d '{
    "external_id": "loan-2026-001234",
    "package_slug": "individual-medium",
    "client": {
      "phone": "+79001234567",
      "email": "test@example.com",
      "first_name": "Иван",
      "last_name": "Тестов"
    },
    "loan_context": {
      "amount_kopecks": 5000000,
      "term_months": 12,
      "monthly_payment_kopecks": 500000,
      "interest_rate_annual_pct": 35.5,
      "issued_at": "2026-05-07",
      "loan_type": "pdl"
    }
  }'

3. Проверить статус транзакции

Используйте transaction_id из ответа предыдущего шага

curl https://fin-ac.ru/api/v1/partners/transactions/{TRANSACTION_ID} \
  -H "Authorization: Bearer {API_KEY}"

4. Получить HTML-сертификат для печати

Возвращает готовый HTML, можно сохранить в PDF и выдать клиенту

curl https://fin-ac.ru/api/v1/partners/transactions/{TRANSACTION_ID}/certificate \
  -H "Authorization: Bearer {API_KEY}" \
  -o certificate.html

Чек-лист тестирования

  • Идемпотентность: отправьте POST дважды с одинаковым `external_id` — второй вызов должен вернуть 200 (не 201) с теми же данными
  • Невалидный slug: попробуйте `package_slug: "несуществует"` — ожидайте 404
  • Без email: отправьте без `client.email` — ожидайте 400 (с релиза мая 2026 email обязателен)
  • Невалидный телефон: `client.phone: "abc"` — ожидайте 400
  • Конфликт external_id: один external_id с разным package_slug — ожидайте 409
  • Без авторизации: запрос без `Authorization` заголовка — ожидайте 401
  • Сертификат на печать: откройте полученный HTML в браузере, проверьте, что данные клиента и пакета подставились корректно