--- issue: 014 title: "PaymentProvider TypeScript type excludes 'shkeeper' and 'decentralized' causing UI fallthrough for main payment providers" severity: critical domain: Payment labels: [bug, frontend, critical, payment, type-mismatch] status: open created: 2026-05-29 source: Doc vs Code Audit 2026-05-29 --- # 🔴 PaymentProvider TypeScript type excludes 'shkeeper' and 'decentralized' causing UI fallthrough for main payment providers **Severity:** critical **Domain:** Payment **Labels:** bug, frontend, critical, payment, type-mismatch ## Description src/types/payment.ts defines PaymentProvider as 'request.network' | 'test' | 'other'. The two primary production payment providers ('shkeeper' and 'decentralized') are absent from this union type. Frontend code that switches on PaymentProvider falls through to unknown/default state for the majority of production payments. ## Current Behavior Provider-based conditional rendering, labels, and routing logic silently falls through to unknown state for SHKeeper and DePay payments. ## Expected Behavior PaymentProvider type should include 'shkeeper' and 'decentralized' variants. ## Affected Files - `frontend/src/types/payment.ts` ## References - [Doc vs Code Audit Report](../09%20-%20Audits/Doc%20vs%20Code%20Audit%20Report%20-%202026-05-29.md)