rspace-online/modules/rcart
Jeff Emmett 4304170a9a feat(rcart): recurring payment infrastructure with interval scheduling
Layer 1 — Schema & History:
- Added PaymentRecord type for individual payment tracking
- Added interval (weekly/biweekly/monthly/quarterly/yearly), nextDueAt,
  subscriberEmail, and paymentHistory[] to PaymentRequestMeta
- Payment history records txHash, method, amount, paidAt for each payment

Layer 2 — Server-Side Scheduler:
- Hourly subscription reminder scheduler sends email notifications
  when recurring payments are due (based on nextDueAt)
- nextDueAt auto-computed after each successful subscription payment
- Grace period prevents duplicate reminders
- Branded HTML reminder emails with "Pay Now" button

UI Updates:
- Billing interval selector (weekly through yearly) shown for
  subscription and payer_choice payment types
- Payment page shows subscription badge with interval and history count
- Next due date displayed for active subscriptions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 21:22:58 +00:00
..
components feat(rcart): recurring payment infrastructure with interval scheduling 2026-03-12 21:22:58 +00:00
db feat: Phase 4 — remove PostgreSQL from 11 modules, switch to Automerge 2026-03-02 15:48:01 -08:00
extract.ts feat(rcart): merge group shopping into rCart module 2026-03-10 01:21:38 -07:00
flow.ts refactor: rename module directories to match r-prefixed module IDs 2026-02-28 19:49:26 -08:00
landing.ts feat: add ViewHistory for in-app back navigation, rename rWork to rTasks 2026-03-11 14:04:13 -07:00
local-first-client.ts feat(rcart): merge group shopping into rCart module 2026-03-10 01:21:38 -07:00
mod.ts feat(rcart): recurring payment infrastructure with interval scheduling 2026-03-12 21:22:58 +00:00
schemas.ts feat(rcart): recurring payment infrastructure with interval scheduling 2026-03-12 21:22:58 +00:00