Update planning docs for processor-agnostic payment linking

Replace stripe_customer_id on account with account_processor_link
table. Update account_payment_method to use processor enum +
processor_payment_method_id instead of Stripe-specific fields.
Supports multiple simultaneous processors for migration scenarios.
This commit is contained in:
Ryan Moon
2026-03-27 17:45:00 -05:00
parent 5ff31ad782
commit 81894a5d23
2 changed files with 75 additions and 18 deletions

View File

@@ -10,25 +10,27 @@ The Payments domain describes how the application integrates with Stripe for all
# 2. Stripe Entity Model
# 2. Processor Entity Model
Stripe Entity
Payment processor customer and payment method references are stored in processor-agnostic tables, not directly on the account. This supports running multiple processors simultaneously (e.g. during migration) and adding new processors without schema changes.
Processor Concept
Maps To
Notes
Customer
Customer (Stripe cus_xxx, GP customer token)
account
account_processor_link
One Stripe customer per billing account
One link per processor per account — multiple links allowed during migration
PaymentMethod
PaymentMethod (Stripe pm_xxx, GP payment token)
account_payment_method
pm_xxx stored as reference only
Processor-agnostic — `processor` enum + `processor_payment_method_id`
Subscription