Separate commerce responsibilities
Catalog, pricing, cart, checkout, payment state, order state and fulfillment have different failure modes. Keep their ownership explicit.
Translate at the edge
Provider-specific payloads belong in adapters. The core should consume normalized commands and events.
Gateway callback
↓ verify signature / idempotency
Payment adapter
↓ normalized event
Order domainModernize without forcing a big bang
A compatibility layer can preserve existing URLs, payloads or jobs while internals move behind a cleaner service boundary. Remove compatibility code only after production consumers are measured and migrated.
These pages describe Thonem implementation patterns. Exact endpoints, payloads, credentials, retry rules and provider capabilities must be taken from the deployed project and its provider documentation.