API
Документация REST API
Платежи, подписки, чеки, webhooks и балансы магазина.
Авторизация
Заголовок Authorization: Bearer YOUR_API_KEY. Ключи и shopId выдаются после подключения мерчанта.
Создание платежа
POST /api/v1/payments
Content-Type: application/json
{
"amount": "12500.00",
"currency": "rub",
"order_id": "order_1042",
"shop_id": 1,
"description": "Оплата заказа",
"return_url": "https://example.com/success",
"callback_url": "https://example.com/webhook"
}
Ответ: 201 с полями id, payment_url, status.
Список платежей
GET /api/v1/payments?limit=50&offset=0&status=paid
Возвращает массив items с id, amount, currency, status, created_at.
Статус платежа
GET /api/v1/payments/{id}
Статусы: pending, paid, failed, refunded, hold.
Hold / confirm / cancel
PUT /api/v1/payments/{id}/hold/confirm
DELETE /api/v1/payments/{id}/hold
Двухстадийное списание: холд, подтверждение или отмена до списания.
Возврат
POST /api/v1/payments/{id}/refund
{ "amount": "12500.00" }
Полный или частичный возврат. Webhook отправляется после смены статуса.
Чеки
GET /api/v1/payments/{id}/receipt
Данные фискального чека: номер, сумма, URL ОФД, статус регистрации.
Подписки
GET /api/v1/subscriptions
DELETE /api/v1/subscriptions/{id}
Рекуррентные списания: интервал Day / Week / Month, next_pay_date, status.
Webhooks
POST на callback_url при смене статуса. Подпись в заголовке X-AIPay-Signature (HMAC-SHA256 тела запроса).
{
"id": 1042,
"order_id": "order_1042",
"amount": "12500.00",
"currency": "rub",
"status": "paid"
}
Тестовый callback: POST /api/v1/payments/{id}/callback/test
Балансы магазина
GET /api/v1/shops/{shopId}/balances
Ответ: balance, hold, available по валютам.
Sandbox и ключи — после заявки на подключение.