Store Credit Wallet & Payments.
Built a double-entry wallet system from scratch for Wine Adore's e-commerce platform. Every balance movement — issuance, redemption, partial use, full refund — is recorded as paired ledger entries, making the audit trail complete and the running balance always derivable from the transaction log alone.
Unified Stripe payment processing across 8 distinct order types (wine, events, restaurants, and channel variants) under a single integration layer. Database-level idempotency keys ensure exactly-once charge semantics under network failure or client retry, and HMAC webhook signature verification with timestamp windows prevents replay attacks from stale or replayed webhook deliveries.
Double-entry ledger pattern — every balance change is two rows; the running balance is always reconstructable from the log
Idempotency keys stored in Postgres prevent double-charges under retries or network timeout
HMAC-SHA256 webhook verification with 5-minute replay window rejects stale or forged Stripe events
Single payment abstraction covers 8 order type variants without branching at the integration layer
Store-credit lifecycle: issue on purchase → redeem at checkout → partial redemption → expiry cleanup → full/partial refund