--- issue: 052 title: "'completed' payment status not counted in successfulPayments stats — admin dashboard undercounts" severity: major domain: Payment labels: [backend, bug] status: open created: 2026-05-29 source: Doc vs Code Audit 2026-05-29 --- # 🟠 'completed' payment status not counted in successfulPayments stats — admin dashboard undercounts **Severity:** major **Domain:** Payment **Labels:** backend, bug ## Description `paymentService.getPaymentStats()` aggregate counts only `'confirmed'` as `successfulPayments`. `'completed'` is excluded. Most SHKeeper/DePay payments follow the terminal path `pending → processing → completed`, so the bulk of successful payments are invisible in the success count. ## Current Behavior Admin dashboard `successfulPayments` count excludes all `'completed'` payments. For a platform where SHKeeper is the primary provider, this count reads close to zero even after many successful payments. ## Expected Behavior `successfulPayments` should count both `'confirmed'` and `'completed'` (the terminal success states), or the stat should be clearly documented as confirmed-only. ## Affected Files - `backend/src/services/payment/paymentService.ts` — `getPaymentStats()` aggregate pipeline ## References - [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md) — Finding M36