summaryrefslogtreecommitdiff
path: root/Biz/PodcastItLater/Web.nix
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2025-11-12 14:57:21 -0500
committerBen Sima <ben@bsima.me>2025-11-12 14:57:21 -0500
commit2e3d0626341291dd71a92ed58815616d4e276dca (patch)
tree34081302183e3097a1dd5ae27f8198a8f94e5f9e /Biz/PodcastItLater/Web.nix
parent92ddb4f3407e34fe8eb4b53abfdbc77f75a24bfe (diff)
Add complete Stripe billing integration to PodcastItLater
- Implement Biz.PodcastItLater.Billing with checkout sessions, billing portal, webhook handling - Add subscription database schema: plan_tier, stripe fields, period dates, stripe_events table - Three-tier pricing: free (10/month), personal (/month, 50 articles), pro (9/month, unlimited) - Usage tracking and enforcement with tier-based limits - Full billing UI with plan display, usage stats, pricing cards, upgrade buttons - Dashboard shows current tier with billing button - Update Web.nix with Stripe environment variables - Fix POST redirects to Stripe with 303 status code for CloudFront compatibility Amp-Thread-ID: https://ampcode.com/threads/T-c139e5b5-1901-4cd6-8030-5623bfe1df35 Co-authored-by: Amp <amp@ampcode.com>
Diffstat (limited to 'Biz/PodcastItLater/Web.nix')
-rw-r--r--Biz/PodcastItLater/Web.nix4
1 files changed, 4 insertions, 0 deletions
diff --git a/Biz/PodcastItLater/Web.nix b/Biz/PodcastItLater/Web.nix
index e66043d..40bbe88 100644
--- a/Biz/PodcastItLater/Web.nix
+++ b/Biz/PodcastItLater/Web.nix
@@ -42,6 +42,10 @@ in {
# EMAIL_FROM=noreply@podcastitlater.bensima.com
# SMTP_SERVER=smtp.mailgun.org
# SMTP_PASSWORD=your-smtp-password
+ # STRIPE_SECRET_KEY=sk_live_your_stripe_secret_key
+ # STRIPE_WEBHOOK_SECRET=whsec_your_webhook_secret
+ # STRIPE_PRICE_ID_PERSONAL=price_your_personal_price_id
+ # STRIPE_PRICE_ID_PRO=price_your_pro_price_id
test -f /run/podcastitlater/env
'';
script = ''