WalletGateway
class WalletGateway(config: WalletConfig, httpClient: HttpClient, apiConfig: PaymentApiConfig) : PaymentGateway
Archetype-E ("internal rail"): a PaymentGateway backed by the consumer's own double-entry ledger server — no external SDK, no WebView, no 3DS/webhook. prepare pre-flight-checks the wallet balance (server round-trip, per the interface contract); pay posts the debit idempotently and reports the ledger txn as the payment id.
Refund is deliberately NOT on this class or on PaymentGateway — the base interface has no refund method by design, so a reversing credit is exposed only at the ledger layer (POST /wallet/{accountId}/refund, see HttpWalletLedgerPort), not bolted onto this gateway's shape.