Package-level declarations
Types
WalletLedgerPort over the same /wallet/{accountId}/debit + /refund routes WalletGateway uses for its own debit — this is the orchestrator's seam for the split-payment compensating credit, kept off WalletGateway itself (see that class's doc comment on why refund isn't there).
Archetype-E (internal rail): a backend double-entry ledger, no external SDK at all. Unlike every other provider archetype, there is no sandbox to be "ready" for — the ledger IS the whole implementation, so this is always GatewayStatus.SANDBOX_READY.
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.