Документація API
Виставляйте рахунки з платіжними QR-кодами НБУ, керуйте бізнес-субʼєктами й банківськими рахунками та читайте аналітику платежів — той самий JSON:API, на якому працює app.pmnt.app.
Ми не можемо знайти інтернет
Спроба підключення
Щось пішло не так!
Зачекайте, поки ми відновимо зʼєднання
Виставляйте рахунки з платіжними QR-кодами НБУ, керуйте бізнес-субʼєктами й банківськими рахунками та читайте аналітику платежів — той самий JSON:API, на якому працює app.pmnt.app.
curl https://app.pmnt.app/api/me \
-H "Authorization: Bearer apa_YOUR_API_KEY" \
-H "Accept: application/vnd.api+json"
Кожен запит до захищеного ендпоїнта передає ваш API-ключ у заголовку Authorization. Ключі — це непрозорі рядки з префіксом apa_, а не JWT.
Authorization: Bearer apa_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
API відповідає специфікації JSON:API 1.0. Надсилайте та очікуйте тип вмісту
application/vnd.api+json. Ендпоїнти списків підтримують стандартні параметри запиту:
| Параметр | Опис |
|---|---|
filter[attr]
|
Фільтрувати список за значенням атрибута.
?filter[state]=paid
|
sort
|
Поля сортування через кому; префікс - означає спадний порядок.
?sort=-qr_generated_at
|
page[limit]
|
Keyset-пагінація: розмір сторінки та курсори page[after] / page[before] з попередньої відповіді.
?page[limit]=25
|
page[count]
|
Додати загальну кількість записів до обʼєкта meta.
?page[count]=true
|
include
|
Довантажити повʼязані ресурси в тій самій відповіді.
?include=business_entity,bank_account
|
fields[type]
|
Часткові набори полів: повернути лише перелічені атрибути.
?fields[invoice]=short_code,state
|
Помилки повертаються в конверті помилок JSON:API з HTTP-статусом, що відповідає зовнішній помилці:
{
"errors": [
{
"status": "403",
"title": "Forbidden",
"detail": "forbidden"
}
]
}
Усі шляхи вказані відносно базової URL-адреси. Ендпоїнти з позначкою «Публічний» не потребують API-ключа; решта — потребують. Згенерована специфікація OpenAPI залишається канонічним і завжди актуальним довідником.
Визначення облікового запису за API-ключем.
/me
API-ключ
Виставляйте платіжні рахунки й керуйте ними. Кожен рахунок отримує публічну сторінку платника та платіжний QR-код НБУ.
/invoices
API-ключ
/invoices
API-ключ
/invoices/{id}
API-ключ
/invoices/{id}
API-ключ
/invoices/{id}
API-ключ
/invoices/{id}/disable
API-ключ
/invoices/{id}/enable
API-ключ
/invoices/{id}/confirm-payment
API-ключ
/invoice/{short_code}
Публічний
Наприклад, створіть рахунок і отримайте його сторінку платника та QR-код:
curl -X POST https://app.pmnt.app/api/invoices \
-H "Authorization: Bearer apa_YOUR_API_KEY" \
-H "Content-Type: application/vnd.api+json" \
-H "Accept: application/vnd.api+json" \
-d '{
"data": {
"type": "invoice",
"attributes": {
"business_entity_id": "YOUR_BUSINESS_ENTITY_ID",
"bank_account_id": "YOUR_BANK_ACCOUNT_ID",
"purpose": "Оплата за послуги",
"amount": 1980
}
}
}'
Відповідь надходить зі станом created; qr_url заповнюється асинхронно за мить. Сторінка платника доступна за адресою
https://app.pmnt.app/pay/{short_code}.
{
"data": {
"type": "invoice",
"id": "6b9f2c1e-4a5d-4e8f-9c3b-2d7a8e1f0b4c",
"attributes": {
"short_code": "…",
"state": "created",
"qr_url": null
}
}
}
Компанії, ФОП та фізичні особи, від імені яких ви виставляєте рахунки. Податкові номери (ЄДРПОУ/РНОКПП) перевіряються автоматично.
/business-entities
API-ключ
/business-entities
API-ключ
/business-entities/{id}
API-ключ
/business-entities/{id}
API-ключ
/business-entities/{id}
API-ключ
/business-entities/{id}/set-default
API-ключ
IBAN-рахунки, привʼязані до ваших бізнес-субʼєктів. Реквізити банку визначаються з IBAN автоматично.
/bank-accounts
API-ключ
/bank-accounts
API-ключ
/bank-accounts/{id}
API-ключ
/bank-accounts/{id}
API-ключ
/bank-accounts/{id}
API-ключ
/bank-accounts/{id}/set-primary
API-ключ
Необовʼязковий збір даних доставки для рахунків, що потребують відправлення.
/delivery-info
Публічний
/delivery-providers
Публічний
/delivery-providers/{id}
Публічний
Довідкові дані для категоризації рахунків: категорії та призначення платежів НБУ.
/categories
Публічний
/categories/{id}
Публічний
/purposes
Публічний
/purposes/{id}
Публічний
Відстеження відвідувань сторінок платника: хто, коли та звідки їх відкривав.
/invoices/{id}/visits
API-ключ
/invoices/{id}/visits/stats
API-ключ
Рахунок проходить через такі стани; переходи відбуваються через сторінку платника та наведені вище ендпоїнти:
created
— Рахунок виставлено, але сторінку платника ще ніхто не відкривав.
pending_delivery
— Платник відкрив рахунок, що потребує доставки, але ще не надіслав дані доставки.
awaiting_payment
— Платник відкрив сторінку оплати.
paid
— Власник підтвердив оплату через confirm-payment.
expired
— Термін valid_until минув; прострочення застосовується автоматично щохвилини.
disabled
— Вимкнений вручну через disable; enable повертає його в created.
Повні схеми атрибутів і решта перелічень (field_lock_preset, transfer_type, …) містяться у специфікації OpenAPI .
Маєте запитання щодо API? Напишіть на admin@pmnt.app або перегляньте Довідковий центр.