BR 3.3 — Admin BFF

Источники

Задачи

Прокси эндпоинтов Paykeeper Adapter

Все /api/v1/admin/paykeeper/* в Admin BFF → :3015/internal/paykeeper/* с форвардом JWT/service-token.

  • GET /api/v1/admin/paykeeper/accountsGET :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/refundPOST :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 (default http://paykeeper-adapter:3015)

Тесты

  • Smoke: все новые прокси отвечают на запросы с валидным JWT

Критерии приёмки

  • Все /api/v1/admin/paykeeper/* работают и проксируют в Adapter
  • Shared types обновлены (в web/ автоподтянется)
  • GET /api/v1/admin/orders/:id включает фискальные данные и возвраты