Skip to Content
Справочник APIAPI счетов на оплату

API счетов на оплату

Эндпоинты для управления счетами на оплату в системе.

Получение списка счетов

Получение полного списка счетов на оплату.

Запрос

GET /api/payment-invoices

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
is_paidbooleanНеобязательный. Фильтр по статусу оплаты
user_idintegerНеобязательный. Фильтр по ID пользователя
pageintegerНеобязательный. Номер страницы
per_pageintegerНеобязательный. Количество записей на странице

Ответ

{ "payment_invoices": [ { "id": 1, "user_id": 123, "gateway": "paypal", "transaction_id": "1AB23456CD789012E", "amount": 100.00, "original_amount": 100.00, "currency_id": 1, "currency": "USD", "is_paid": true, "paid_at": "2023-01-01T01:00:00Z", "created_at": "2023-01-01T00:00:00Z" }, { "id": 2, "user_id": 124, "gateway": "stripe", "transaction_id": null, "amount": 50.00, "original_amount": 75.00, "promo_code_id": 3, "promo_code": "SALE25", "currency_id": 2, "currency": "EUR", "is_paid": false, "paid_at": null, "created_at": "2023-01-02T00:00:00Z" } ], "pagination": { "total": 50, "per_page": 10, "current_page": 1, "last_page": 5 } }

Поля ответа

ПолеТипОписание
payment_invoicesarrayМассив счетов на оплату
idintegerID счета
user_idintegerID пользователя
gatewaystringКлюч платежного шлюза
transaction_idstringID транзакции (может быть null)
amountnumberСумма платежа
original_amountnumberИсходная сумма (до скидок)
promo_code_idintegerID промокода (если применен)
promo_codestringКод промокода (если применен)
currency_idintegerID валюты
currencystringКод валюты
is_paidbooleanСтатус оплаты
paid_atstringДата оплаты (может быть null)
created_atstringДата создания
paginationobjectИнформация о пагинации

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса

Получение данных счета

Получение детальной информации о конкретном счете на оплату.

Запрос

GET /api/payment-invoices/{id}

Параметры пути

НазваниеТипОписание
idintegerID счета на оплату

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "payment_invoice": { "id": 1, "user_id": 123, "user": { "id": 123, "name": "John Doe", "email": "[email protected]" }, "gateway": "paypal", "transaction_id": "1AB23456CD789012E", "amount": 100.00, "original_amount": 100.00, "currency_id": 1, "currency": "USD", "is_paid": true, "paid_at": "2023-01-01T01:00:00Z", "created_at": "2023-01-01T00:00:00Z" } }

Поля ответа

ПолеТипОписание
payment_invoiceobjectОбъект счета на оплату
idintegerID счета
user_idintegerID пользователя
userobjectИнформация о пользователе
gatewaystringКлюч платежного шлюза
transaction_idstringID транзакции (может быть null)
amountnumberСумма платежа
original_amountnumberИсходная сумма (до скидок)
promo_code_idintegerID промокода (если применен)
promo_codeobjectИнформация о промокоде (если применен)
currency_idintegerID валюты
currencyobjectИнформация о валюте
is_paidbooleanСтатус оплаты
paid_atstringДата оплаты (может быть null)
created_atstringДата создания

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Счет на оплату не найден

Создание счета на оплату

Создание нового счета на оплату в системе.

Запрос

POST /api/payment-invoices

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "user_id": 123, "gateway": "stripe", "amount": 75.50, "currency_id": 1, "promo_code": "DISCOUNT10" }

Параметры тела запроса

НазваниеТипОписание
user_idintegerОбязательный. ID пользователя
gatewaystringОбязательный. Ключ платежного шлюза
amountnumberОбязательный. Сумма платежа
currency_idintegerОбязательный. ID валюты
promo_codestringНеобязательный. Промокод для скидки

Ответ

{ "message": "Payment invoice created successfully", "payment_invoice": { "id": 3, "user_id": 123, "gateway": "stripe", "transaction_id": null, "amount": 67.95, "original_amount": 75.50, "promo_code_id": 5, "promo_code": "DISCOUNT10", "currency_id": 1, "currency": "USD", "is_paid": false, "paid_at": null, "created_at": "2023-03-15T12:00:00Z" } }

Коды ответов

КодОписание
201Счет на оплату успешно создан
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Пользователь, валюта или промокод не найдены
422Неверные параметры запроса

Обновление статуса счета на оплату

Обновление статуса существующего счета на оплату.

Запрос

PUT /api/payment-invoices/{id}/status

Параметры пути

НазваниеТипОписание
idintegerID счета на оплату

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ
Content-TypestringОбязательный. application/json

Тело запроса

{ "is_paid": true, "transaction_id": "XYZ987654321" }

Параметры тела запроса

НазваниеТипОписание
is_paidbooleanОбязательный. Статус оплаты
transaction_idstringНеобязательный. ID транзакции

Ответ

{ "message": "Payment invoice status updated successfully", "payment_invoice": { "id": 3, "user_id": 123, "gateway": "stripe", "transaction_id": "XYZ987654321", "amount": 67.95, "original_amount": 75.50, "promo_code_id": 5, "promo_code": "DISCOUNT10", "currency_id": 1, "currency": "USD", "is_paid": true, "paid_at": "2023-03-15T12:30:00Z", "created_at": "2023-03-15T12:00:00Z" } }

Коды ответов

КодОписание
200Статус счета успешно обновлен
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Счет на оплату не найден
422Неверные параметры запроса

Удаление счета на оплату

Удаление счета на оплату из системы (только для неоплаченных счетов).

Запрос

DELETE /api/payment-invoices/{id}

Параметры пути

НазваниеТипОписание
idintegerID счета на оплату

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Ответ

{ "message": "Payment invoice deleted successfully" }

Коды ответов

КодОписание
200Счет на оплату успешно удален
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса
404Счет на оплату не найден
422Невозможно удалить оплаченный счет

Получение статистики по платежам

Получение статистики по платежам за определенный период.

Запрос

GET /api/payment-invoices/stats

Заголовки

НазваниеТипОписание
X-API-KeystringОбязательный. API ключ

Параметры запроса

НазваниеТипОписание
start_datestringНеобязательный. Начальная дата (YYYY-MM-DD)
end_datestringНеобязательный. Конечная дата (YYYY-MM-DD)
currency_idintegerНеобязательный. Фильтр по ID валюты

Ответ

{ "stats": { "total_amount": 1250.75, "total_count": 45, "completed_amount": 980.50, "completed_count": 35, "pending_amount": 220.25, "pending_count": 8, "failed_amount": 50.00, "failed_count": 2, "by_gateway": [ { "gateway_id": 1, "gateway_name": "PayPal", "amount": 750.50, "count": 25 }, { "gateway_id": 2, "gateway_name": "Stripe", "amount": 500.25, "count": 20 } ], "by_day": [ { "date": "2023-06-10", "amount": 250.75, "count": 10 }, { "date": "2023-06-11", "amount": 300.50, "count": 12 } ] } }

Поля ответа

ПолеТипОписание
statsobjectОбъект со статистикой
total_amountnumberОбщая сумма платежей
total_countintegerОбщее количество платежей
completed_amountnumberСумма завершенных платежей
completed_countintegerКоличество завершенных платежей
pending_amountnumberСумма ожидающих платежей
pending_countintegerКоличество ожидающих платежей
failed_amountnumberСумма неудавшихся платежей
failed_countintegerКоличество неудавшихся платежей
by_gatewayarrayСтатистика по платежным шлюзам
by_dayarrayСтатистика по дням

Коды ответов

КодОписание
200Успешный запрос
401Неверный API ключ или отсутствует
403Недостаточно прав для выполнения запроса