Commit Graph

6 Commits

Author SHA1 Message Date
amianthus
eb2c063a6f fix: 🐛 clean up 2026-04-28 18:56:44 +01:00
amianthus
ba9091d6e9 fix: block recurring add-ons across processors and filter non-Stripe cus products from Stripe sub builder
- handleExternalPSPErrors (V2 attach): mirror PR #1392's V1 semantics — scan
  all customer_products and bypass only when attachProduct.prices are all
  one-off via pricesOnlyOneOff. Recurring add-ons stay strictly blocked.
- handleAttachV2Errors: pass full customer_products + attachProduct so the
  gate sees the customer's whole state, not just the upgrade source.
- buildStripeSubscriptionItemsUpdate: drop non-Stripe-managed cus products
  before building recurring item specs. Without this, an RC product's
  Stripe price would leak into a brand-new Stripe subscription created for
  an add-on attach (Runable +$25 overcharge bug).
- Add filterCustomerProductsByProcessorType helper.
- Add unit tests for both layers.
2026-04-28 18:34:52 +01:00
John Yeo
3a2f9a33bc fix code review issues 2026-03-13 10:07:07 +00:00
John Yeo
e6077458a2 feat: new attach / update subscription params 2026-02-17 12:48:11 +00:00
John Yeo
cb05d169a2 wip 2026-01-23 17:13:19 +00:00
John Yeo
105e4dad40 restructured tests and fix type errors 2026-01-15 15:04:37 +00:00