BR 3.3 — Admin BFF
Источники
Задачи
Прокси эндпоинтов Paykeeper Adapter
Все /api/v1/admin/paykeeper/* в Admin BFF → :3015/internal/paykeeper/* с форвардом JWT/service-token.
-
GET /api/v1/admin/paykeeper/accounts→GET :3015/internal/paykeeper/accounts -
POST /api/v1/admin/paykeeper/accounts -
GET /api/v1/admin/paykeeper/accounts/:id -
PATCH /api/v1/admin/paykeeper/accounts/:id -
POST /api/v1/admin/paykeeper/accounts/:id/suspend -
POST /api/v1/admin/paykeeper/accounts/:id/resume -
DELETE /api/v1/admin/paykeeper/accounts/:id -
POST /api/v1/admin/paykeeper/accounts/:id/test-connection -
GET /api/v1/admin/paykeeper/accounts/:id/logs -
GET /api/v1/admin/paykeeper/terminals -
POST /api/v1/admin/paykeeper/terminals -
PATCH /api/v1/admin/paykeeper/terminals/:id -
DELETE /api/v1/admin/paykeeper/terminals/:id
Реализация — в стиле существующих прокси (смотри bff/src/routes/aggregators.ts или similar). Passthrough JSON, перекладывание auth-заголовка.
Прокси для товаров (обновление полей)
- Убедиться что существующие прокси
POST/PATCH /api/v1/admin/productsпрозрачно передают новые поляvat_rate,payment_subject,payment_type— скорее всего body passthrough, ничего специально не нужно
Прокси для заказов (refund)
-
POST /api/v1/admin/orders/:id/refund→POST :3005/internal/orders/:id/refund(если ещё не сделано, то добавить) -
GET /api/v1/admin/orders/:id— убедиться что пробрасываются новые поля в response:fiscal_data,pk_fop_receipt_key,fiscal_failed,refunds
Shared types
- Обновить
shared/types/paykeeper.ts— создать с интерфейсамиPaykeeperAccount,PaykeeperTerminal,PaykeeperWebhookLog - Обновить
shared/types/catalog.ts(Product) — поляvat_rate,payment_subject,payment_type - Обновить
shared/types/orders.ts(Order) — поляpk_invoice_id,pk_invoice_url,pk_payment_id,fiscal_data,fiscal_failed,pk_fop_receipt_key,refunds[]
Env
-
PAYKEEPER_ADAPTER_URL(defaulthttp://paykeeper-adapter:3015)
Тесты
- Smoke: все новые прокси отвечают на запросы с валидным JWT
Критерии приёмки
- Все
/api/v1/admin/paykeeper/*работают и проксируют в Adapter - Shared types обновлены (в
web/автоподтянется) GET /api/v1/admin/orders/:idвключает фискальные данные и возвраты