Skip to content

feat(backend): B4 Stripe billing (plans, Checkout, Portal, webhooks)#19

Merged
billyribeiro-ux merged 1 commit into
mainfrom
claude/update-dependencies-stack-docs-nffxp
Jun 4, 2026
Merged

feat(backend): B4 Stripe billing (plans, Checkout, Portal, webhooks)#19
billyribeiro-ux merged 1 commit into
mainfrom
claude/update-dependencies-stack-docs-nffxp

Conversation

@billyribeiro-ux

Copy link
Copy Markdown
Owner
  • minimal Stripe client over reqwest (customers/checkout/billing-portal) + HMAC-SHA256 webhook signature verification with replay tolerance (avoids the heavyweight async-stripe tree); unit-tested signature roundtrip
  • endpoints: GET /v1/plans, POST /v1/billing/{subscribe,portal}, GET /v1/billing/subscription, POST /v1/webhooks/stripe (unauthenticated, signed)
  • plans + subscriptions domain/repos (prices as integer cents), org stripe customer get/set, subscription upsert keyed on stripe_subscription_id
  • 0005 migration; config gains app_url + stripe secrets
  • gates: cargo fmt + clippy -D warnings clean; 5 tests pass

- minimal Stripe client over reqwest (customers/checkout/billing-portal) +
  HMAC-SHA256 webhook signature verification with replay tolerance (avoids the
  heavyweight async-stripe tree); unit-tested signature roundtrip
- endpoints: GET /v1/plans, POST /v1/billing/{subscribe,portal},
  GET /v1/billing/subscription, POST /v1/webhooks/stripe (unauthenticated, signed)
- plans + subscriptions domain/repos (prices as integer cents), org stripe
  customer get/set, subscription upsert keyed on stripe_subscription_id
- 0005 migration; config gains app_url + stripe secrets
- gates: cargo fmt + clippy -D warnings clean; 5 tests pass
@billyribeiro-ux billyribeiro-ux merged commit f76692d into main Jun 4, 2026
1 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants