Add payment module, BFF proxy, hub/dashboard/ops/PSP/merchant screens wired to real APIs, and mark payment-frontend complete in project status. Co-authored-by: Cursor <cursoragent@cursor.com>
1.8 KiB
1.8 KiB
Payment Frontend Validation Report
Date: 2026-07-27
Phase: payment-frontend
Backend boundary: MVP 14.0–14.5 (v0.14.5.0)
Route validation
npm run validate:payment-routes
# Payment routes OK (23 MVP routes, 26 features)
Module inventory
| Category | Count |
|---|---|
| Feature screens | 26 |
| MVP list routes | 23 |
| Detail routes | 3 (requests/[id], transactions/[id], merchants/[id]) |
| Core components (pre-existing) | 5 |
| Hooks | 2 |
| BFF proxy | 1 |
API wiring
All list/detail screens call paymentApi methods against real /api/v1/* paths. No mock fixtures.
| Screen | API |
|---|---|
| Dashboard / KPIs | requests.list, transactions.list, audit.list, metrics |
| Transactions | transactions.list/get |
| Ledger | ledger.list |
| PSP | pspConnections.list/test |
| Merchants | merchants.* lifecycle |
| Requests | requests.list/get/cancel/verify |
| Callbacks | audit.list + requests filtered client-side |
| Verification | requests.verify queue |
| Bundles / toggles / settings | CRUD list endpoints |
| OpenAPI | GET /openapi.json |
Known gaps
- Callback log list — backend exposes POST callback ingress only; UI derives from audit +
redirect_issuedrequests. - 14.6+ UI — refunds, splits, reconciliation not implemented (by design).
- Create flows — list pages are read-focused; POST create forms for workspace/PSP/merchant can be added incrementally.
- Permission UI gates —
usePaymentPermissionsavailable; per-screen enforcement is soft (403 from API).
Apps catalog
Torbat Pay registered as available → /payment/hub.
Docker env
NEXT_PUBLIC_PAYMENT_API_URL + PAYMENT_SERVICE_URL added to frontend service in docker-compose.