API рахунків v1
Створення й перевірка окремих рахунків наявної інтеграції.
Для нових hosted-сесій використовуйте швидкий старт v2. Базова адреса API: https://api.bramapay.com.
POST /v1/invoices
Передайте секрет проєкту/режиму в X-Api-Key, обов’язковий Idempotency-Key і Content-Type: application/json.
| Поле | Вимога |
|---|---|
amount | Обов’язковий додатний десятковий рядок |
asset | Обов’язковий символ доступного активу |
network | Обов’язкова доступна мережа для активу |
externalId | Обов’язковий сталий ідентифікатор спроби замовлення, 1–200 символів |
Відповідь 201 містить invoiceId, externalId, status, checkoutUrl, expiresAt в ISO-8601. Точної криптосуми й адреси в цій проєкції немає: використовуйте hosted checkout.
GET /v1/invoices/:invoiceId
Поверне ту саму проєкцію для перевірки сервером. Використовуйте секрет того самого проєкту/режиму. Некоректний, відсутній або чужий ID повертає 404 INVOICE_NOT_FOUND. Для видачі потрібні PAID і збіг збережених invoice ID та external ID. Скасування не входить до вузького v1-контракту; окремий endpoint кабінету — POST /invoices/:id/cancel.
Ідемпотентність
Ключ містить 1–128 ASCII-літер, цифр або символів ., _, :, -. Збережіть ключ і тіло до запиту. За невідомого результату повторюйте незмінний запит. Зміна тіла під тим самим ключем або конфлікт із зарезервованим externalId дає 409 IDEMPOTENCY_CONFLICT.
Це наявний контракт окремих рахунків Legacy v1. Нові hosted-інтеграції починайте з API v2. Явна оплата покупцем використовує feePayer: "BUYER", pricingVersion: "BUYER_FEE_V1", baseAmountUsd замість amount; політика проєкту зберігає базу замовлення інтеграції. Див. контракти ціни. Не змінюйте ідентичність запиту й значення старих полів.