[x] Can't Pay with Stripe
Severity: Critical Reported: 2025-12-08 Fixed: 2025-12-08
People can't subscribe! On https://envelopebudget.com/subscriptions/founders/ - when clicking
Claim Your Lifetime Access, it just throws an error. Here is the console:
founders/:1004 POST https://envelopebudget.com/api/subscriptions/create-checkout-session 400 (Bad Request)
claimFoundersAccess @ founders/:1004 await in claimFoundersAccess onclick @ founders/:940
Here is the error I get via email:
Error Details: 400 - Bad Request Bad request received
Request Information:
Investigation hints:
/api/subscriptions/create-checkout-session endpoint in subscriptions appResolution: Root cause was expired Stripe API key (STRIPE_SECRET_KEY). Improved error handling
in subscriptions/api.py to:
@login_required decorator with Django Ninja's auth=django_auth for consistencyAction Required: Update STRIPE_SECRET_KEY environment variable with a valid API key from Stripe dashboard.
[x] Can't log in with Google
Severity: High Reported: 2025-12-08 Fixed: 2025-12-08
When I try to log in with google, it looks like it works, but then I'm redirected back to the home page. If I click login again, I'm just redirected back to the homescreen. I have to clear cookies in order to see the login page again.
Investigation hints:
Resolution: Root cause was missing session cookie settings for production HTTPS. When Django runs behind
Caddy (reverse proxy) without proper cookie settings, the session cookie wasn't being set correctly for OAuth
redirects. Added to budgetapp/settings.py for production:
SECURE_PROXY_SSL_HEADER - tells Django it's behind HTTPS proxySESSION_COOKIE_SECURE = True - ensures cookies sent only over HTTPSCSRF_COOKIE_SECURE = True - same for CSRF tokensSESSION_COOKIE_SAMESITE = "Lax" - allows cookies during OAuth cross-site redirectsCSRF_COOKIE_SAMESITE = "Lax" - same for CSRF tokens(None yet)