Replace deprecated Stripe Sources API with Stripe Checkout

- Add stripe/checkout.py module for Stripe Checkout Sessions
- Add Payment model to track completed payments
- Update billing page with pay-what-you-want, annual, and top-up options
- Keep pay_what_you_can preferences, add Pay Now button for actual payment
- Add webhook handler for Stripe events
- Remove old card management code (deprecated Sources API)
- Update stripe requirement to >=5.0.0
This commit is contained in:
Russell Ballestrini 2025-12-19 20:52:38 -05:00
parent f641d39b11
commit acfbe52a65
18 changed files with 665 additions and 282 deletions

View file

@ -89,10 +89,11 @@ app.theme = meta
# choices enabled or disabled. defaults to disabled.
#app.stand_alone_mode = disabled
# stripe: credit card storage and processing.
# stripe: Stripe Checkout payment processing.
# This syntax will automatically expand an ENV var of the same name.
app.stripe.secret = ${REMARKBOX_APP_STRIPE_SECRET}
app.stripe.public = ${REMARKBOX_APP_STRIPE_PUBLIC}
app.stripe.webhook_secret = ${REMARKBOX_APP_STRIPE_WEBHOOK_SECRET:-}
# slack: bot notifications.
app.slack.secret = ${REMARKBOX_APP_SLACK_SECRET}