Add saved payout destination UX and service contracts (#54)

This commit is contained in:
Stephan D committed 2026-10-16 12:01:33 +02:00
1 parent a5689876ff
commit 24af794112
49 files changed
+4687 -62

No files matched your search

@@ -47,3 +47,17 @@ once on success/failure. Closing the app while pending does not count as draft
abandonment. No amounts, account IDs or recipient data enter events. All demo
signals are simulated. Cross-session outcomes require backend event delivery;
client-only analytics are not production accounting or conversion evidence.
## Saved destinations — #54
The injectable `DestinationService` adds canonical crypto, secure-card capture and
Russian bank models, saved/one-time input, independent metadata/execution revisions,
stable created/duplicate outcomes, contextual eligibility and management providers.
`DummyDestinationService` is customer-scoped and process-local. It has isolated
fixtures for directory/capture/recovery states, not live banking or card collection.
The demo wallet binds immutable destination snapshots to quotes and rechecks at its
synchronous acceptance boundary. Production must enforce those checks atomically
in the backend. Live mode currently advertises no new destination capabilities and
preserves explicit selection of the already provisioned wallet method. It never
uses a demo store. See [the UX/service contract](../../../docs/ux/payout-destinations.md)
for integration, security, retention, localization and acceptance requirements.