Виберіть тему ліворуч, щоб переглянути статтю.
Особистий кабінет
Після входу ви потрапляєте на Панель керування.
Основні розділи лівого меню:
- Панель керування - загальна статистика за місяць
- Кількість створених рахунків
- Сума успішних оплат за місяць
- Очікувані платежі (неоплачені рахунки)
- Мої компанії - список ваших юридичних осіб / ФОП
Прив’язуйте необмежену кількість компаній → кожна може мати власні IBAN-и та мерчантів.
- Мерчанти - проєкти / напрямки всередині компанії
Кожен мерчант має:
- власну назву та опис
- логотип та колір бренду
- прив’язаний IBAN
- статистику платежів окремо
- Рахунки - повний список усіх створених рахунків (фільтри за статусом, мерчантом, сумою)
- Новий рахунок - швидке створення платежу
Поля: сума, призначення, термін дії, мерчант
- API ключ - розділ для генерації ключів та ознайомлення з документацією API (на платних тарифах)
- Налаштування - профіль, зміна тарифу та ін.
Загальна інформація
Base URL: https://api.pay24.com.ua/v1
Формат даних: JSON (Content-Type: application/json)
Кодування: UTF-8
Протокол: тільки HTTPS
Аутентифікація
Використовується Bearer Token.
Токен потрібно передавати в заголовку (Header):
Authorization: Bearer YOUR_API_KEY
YOUR_API_KEY - ваш ключ API, який генерується в особистому кабінеті в розділі API ключ.
Формат API ключа: p24live_[32 hex символи]
- Один ключ на акаунт
- Доступ тільки до ваших мерчантів
Створення рахунку
POST
/v1/invoices
Тіло запиту (JSON)
| Поле | Тип | Обовʼязкове | Опис |
| merchant | integer | Так | ID мерчанта з кабінету Pay24 |
| amount | float | Ні | Сума в гривнях. Якщо не вказано - довільна сума, клієнт вводить сам (макс. 999999.99) |
| purpose | string | Ні | Призначення платежу (макс. 420 символів) |
| expires | string | Ні | Термін дії: YYYY-MM-DD або YYYY-MM-DD HH:MM:SS |
Приклад запиту
POST /v1/invoices HTTP/1.1
Host: api.pay24.com.ua
Authorization: Bearer p24live_...
Content-Type: application/json
{
"merchant": 12345,
"amount": 1400.00,
"purpose": "Рахунок №12345 за послуги",
"expires": "2027-03-31"
}
Успішна відповідь (201 Created)
{
"id": "a3f9b2c1Kx",
"url": "https://pay24.com.ua/pay/a3f9b2c1Kx",
"merchant": 12345,
"amount": 1400.00,
"currency": "UAH",
"purpose": "Рахунок №12345 за послуги",
"status": "active",
"expires_at": "2027-03-31 00:00:00",
"created_at": "2025-04-01T14:22:00Z"
}
Відповідь з помилкою (403 Not allowed)
{
"error": "Merchant not found or does not belong to your account"
}
Отримання інформації про рахунок
GET
/v1/invoices/{id}
{id} — значення поля id з відповіді створення
Приклад запиту
GET /v1/invoices/a3f9b2c1Kx HTTP/1.1
Host: api.pay24.com.ua
Authorization: Bearer p24live_...
Приклад успішної відповіді (200 OK)
{
"id": "a3f9b2c1Kx",
"url": "https://pay24.com.ua/pay/a3f9b2c1Kx",
"merchant": 12345,
"amount": 1400.00,
"currency": "UAH",
"purpose": "Рахунок №12345 за послуги",
"status": "active",
"expires_at": "2027-03-31 00:00:00",
"created_at": "2025-04-01T14:22:00Z",
"updated_at": "2025-04-01T14:25:31Z",
}
Приклад відповіді з помилкою (404 Not found)
{
"error": "Invoice not found"
}
Зміна статусу рахунку
PATCH
/v1/invoices/{id}
{id} — значення поля id з відповіді створення
Тіло запиту (JSON)
| Поле | Тип | Обовʼязкове | Опис |
| status | string | Так | Новий статус: active, paused або paid |
Приклад запиту
PATCH /v1/invoices/a3f9b2c1Kx HTTP/1.1
Host: api.pay24.com.ua
Authorization: Bearer p24live_...
Content-Type: application/json
{
"status": "paid"
}
Успішна відповідь (200 OK)
Повертає рахунок з оновленим статусом — у тому ж форматі, що й GET /v1/invoices/{id}.
{
"id": "a3f9b2c1Kx",
"url": "https://pay24.com.ua/pay/a3f9b2c1Kx",
"merchant": 12345,
"amount": 1400.00,
"currency": "UAH",
"purpose": "Рахунок №12345 за послуги",
"status": "paid",
"expires_at": "2027-03-31 00:00:00",
"created_at": "2025-04-01 14:22:00",
"updated_at": "2025-04-02 09:10:45"
}
Відповідь з помилкою (422 Validation failed)
{
"error": "Validation failed",
"fields": {
"status": "Required. Must be one of: active, paused, paid."
}
}
Пошук рахунків
GET
/v1/invoices
Повертає рахунки вашого акаунта, від найновіших. Зручно для звірки банківської виписки з рахунками: передайте призначення і суму вхідного платежу — і отримаєте рахунок, який він оплачує.
Параметри запиту (усі необовʼязкові)
| Параметр | Тип | Опис |
| status | string | active, paused, expired, archived або paid |
| amount | float | Точна сума рахунку в гривнях |
| comment | string | Текст призначення платежу з виписки (макс. 1000 символів). Повертаються рахунки, призначення яких міститься в цьому тексті окремим фрагментом; регістр і зайві пробіли не враховуються |
| limit | integer | Кількість результатів: 1–100, за замовчуванням 20 |
Приклад запиту
GET /v1/invoices?status=active&amount=1400&comment=Оплата%20згідно%20Рахунок%20№12345%20за%20послуги HTTP/1.1
Host: api.pay24.com.ua
Authorization: Bearer p24live_...
Успішна відповідь (200 OK)
{
"data": [
{
"id": "a3f9b2c1Kx",
"url": "https://pay24.com.ua/pay/a3f9b2c1Kx",
"merchant": 12345,
"amount": 1400.00,
"currency": "UAH",
"purpose": "Рахунок №12345 за послуги",
"status": "active",
"expires_at": "2027-03-31 00:00:00",
"created_at": "2025-04-01 14:22:00",
"updated_at": "2025-04-01 14:22:00"
}
],
"count": 1
}