SurfSense/_bmad-output/implementation-artifacts
Vonic 20c4f128bb feat(story-5.3): add Stripe webhook subscription lifecycle handlers
- Add migration 125: subscription_current_period_end column
- Add PLAN_LIMITS config (free/pro_monthly/pro_yearly token + pages limits)
- Add subscription webhook handlers: created/updated/deleted, invoice payment
- Handle checkout.session.completed for subscription mode separately from PAYG
- Idempotency: subscription_id + status + plan_id + period_end guard
- pages_limit upgraded on activation, gracefully downgraded on cancel
- Token reset on subscription_create and subscription_cycle billing events
- Period_end forward-only guard against out-of-order webhook delivery

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 00:43:07 +07:00
..
1-0-authentication-system.md update 2026-03-11 19:32:08 +07:00
1-1-project-infrastructure-database-init.md update 2026-04-13 23:17:12 +07:00
1-2-backend-auth-api-jwt.md update 2026-04-13 23:17:12 +07:00
1-3-frontend-auth-ui.md update 2026-04-13 23:17:12 +07:00
1-6-settings-sync.md update 2026-03-11 19:32:08 +07:00
2-1-celery-worker-pdf-parser.md update 2026-04-13 23:17:12 +07:00
2-2-upload-api-rate-limiting.md update 2026-04-13 23:17:12 +07:00
2-3-knowledge-base-ui-micro-sync-indicators.md update 2026-04-13 23:17:12 +07:00
2-4-delete-document-flow.md update 2026-04-13 23:17:12 +07:00
3-1-chat-session-api.md update 2026-04-13 23:17:12 +07:00
3-2-rag-engine-sse-endpoint.md update 2026-04-13 23:17:12 +07:00
3-3-chat-ui-sse-client.md chore: recreate standard BMad stories with corrected names based on sprint status keys 2026-04-13 09:56:30 +07:00
3-4-split-pane-layout-interactive-citation.md update 2026-04-13 23:17:12 +07:00
3-5-model-selection-via-quota.md feat(story-3.5): add cloud-mode LLM model selection with token quota enforcement 2026-04-14 17:01:21 +07:00
4-1-chat-history-sync.md update 2026-04-13 23:17:12 +07:00
4-2-graceful-degradation-offline-ui.md update 2026-04-13 23:17:12 +07:00
4-3-global-network-sync-indicators.md chore: recreate standard BMad stories with corrected names based on sprint status keys 2026-04-13 09:56:30 +07:00
5-1-pricing-plan-selection-ui.md feat(story-5.1): add subscription pricing UI with Stripe checkout integration 2026-04-14 23:28:14 +07:00
5-2-stripe-payment-integration.md feat(story-5.2): add Stripe subscription checkout with session verification 2026-04-14 23:58:57 +07:00
5-3-stripe-webhook-sync.md feat(story-5.3): add Stripe webhook subscription lifecycle handlers 2026-04-15 00:43:07 +07:00
5-4-usage-tracking-rate-limit-enforcement.md docs: rewrite story 3.5 and epic 5 stories to match actual codebase 2026-04-14 14:19:57 +07:00
deferred-work.md feat(story-5.3): add Stripe webhook subscription lifecycle handlers 2026-04-15 00:43:07 +07:00
sprint-status.yaml feat(story-5.3): add Stripe webhook subscription lifecycle handlers 2026-04-15 00:43:07 +07:00