API

Документация REST API

Платежи, подписки, чеки, webhooks и балансы магазина.

OpenAPI specification ↓

Авторизация

Заголовок 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 и ключи — после заявки на подключение.