1. 27 Apr, 2026 1 commit
  2. 25 Apr, 2026 9 commits
  3. 24 Apr, 2026 28 commits
  4. 23 Apr, 2026 2 commits
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Stripe charge settling: attach PM to customer on add, use CIT for subscription upgrades · 7237e508
      Stefy Lanza (nextime / spora ) authored
      When a card was added via billing page, it was only stored in the DB — never
      attached to the Stripe customer. This meant every charge was on an unattached
      PM, which Stripe processes differently.
      
      For subscription upgrades the user is actively present, so off_session=True
      was incorrect: it marks the charge as a Merchant-Initiated Transaction (MIT)
      which settles slower than Customer-Initiated (CIT). Other sites that use
      Stripe's frontend SDK do CITs, which is why their charges clear faster.
      
      - dashboard_add_payment_method_stripe: attach PM to Stripe customer and set
        as customer default immediately when the card is added
      - auto_charge: add off_session parameter (default True for existing auto
        top-up/renewal callers); document the distinction
      - dashboard_subscribe_tier: pass off_session=False so the upgrade charge is
        processed as a CIT and settles at normal speed
      7237e508
    • Stefy Lanza (nextime / spora )'s avatar
      Fix Stripe charge status check, payment feedback, and modal HTML rendering · f8c830a0
      Stefy Lanza (nextime / spora ) authored
      - auto_charge: verify payment_intent.status is succeeded/processing before returning success; add description/metadata params so subscription charges are labeled correctly in Stripe
      - pricing: redirect to ?success= after upgrade/downgrade so the persistent server-side banner shows instead of a 1.5s toast that disappears on reload
      - pricing GET endpoint: pass success/error query params to template context
      - base modal: support html:true option in open() so showConfirm can render HTML content; update showConfirm signature to accept html flag
      - pricing: pass html=true to showConfirm so the upgrade confirmation renders bold/colored text instead of raw tags
      f8c830a0