Rebounder Tech Blog

Written by the people who actually run these systems in production.

Payments

Getting Stripe into production, and what happened after.

start_month Missing Lets a Contract's Period Go NULL2026-09-17Two PaymentIntents: a Losing webhook Reverts the Winner2026-09-09An Empty contractId Gives invalid input syntax uuid2026-09-07A Ledger INSERT Failure Swallowed as a Duplicate2026-09-03Re-consent to Revised Terms Does Not Reset auto_renew2026-08-30A Post-Charge DB Failure Read as a Card Decline2026-08-28Duplicating a Placement Without Ending the Old One2026-08-26Holding-Only Checks Reapply a Bundle Discount2026-08-24Omitting expires_at Holds a Seat for 24 Hours2026-08-22A CHECK Rewrite Erased Another Branch's Value2026-08-18A Conditional UPDATE Needs error, Not Just data2026-08-16