ghostguild-org/server
Jennie Robinson Faber 101d6a231b feat(billing): add update-card API route with rollback + status gate
POST /api/helcim/update-card updates the customer's default card, then
best-effort patches the active subscription payment method. Status-gated
to {active, pending_payment}; verifies the submitted cardToken is
attached to the member's helcimCustomerId via listHelcimCustomerCards.
On subscription PATCH 5xx we revert the customer default to the prior
card token; 4xx (schema rejection — cardToken is not a documented
subscription PATCH field) is tolerated since the customer default is
the authoritative billing driver.
2026-04-19 16:29:23 +01:00
..
api feat(billing): add update-card API route with rollback + status gate 2026-04-19 16:29:23 +01:00
config refactor(config): cadence-keyed plan id, add getTierAmount, drop per-tier helcimPlanId 2026-04-18 17:19:05 +01:00
emails Refactor email templates to use plain text format and update sender addresses 2026-03-05 18:40:37 +00:00
middleware fix: use private helcimApiToken for all server-side Helcim API calls 2026-04-04 13:37:34 +01:00
migrations refactor(community): rename Community Connections → Community Ecology 2026-04-09 09:07:15 +01:00
models feat(member): add billingCadence field to schema 2026-04-18 17:12:45 +01:00
plugins Member/Ecology revamp. 2026-04-14 09:25:09 +01:00
routes fix(auth): survive missing OIDC interaction cookie on magic-link click 2026-04-15 18:18:33 +01:00
utils feat(helcim): add transaction list + card update helpers 2026-04-19 16:24:16 +01:00