@antelopejs/dms-saas 0.3.9 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +21 -12
  2. package/dist/routes/platformOwner/workspaces-admin.js +1 -1
  3. package/dist/routes/platformOwner/workspaces-admin.js.map +1 -1
  4. package/dist/routes/tenant/billing-self-refund.js +1 -1
  5. package/dist/routes/tenant/billing-self-refund.js.map +1 -1
  6. package/dist/routes/tenant/index.d.ts +1 -0
  7. package/dist/routes/tenant/index.js +1 -0
  8. package/dist/routes/tenant/index.js.map +1 -1
  9. package/dist/routes/tenant/tenant-plan-checkout-recovery.d.ts +21 -0
  10. package/dist/routes/tenant/tenant-plan-checkout-recovery.js +140 -0
  11. package/dist/routes/tenant/tenant-plan-checkout-recovery.js.map +1 -0
  12. package/dist/routes/tenant/tenant-plan-checkout.d.ts +0 -3
  13. package/dist/routes/tenant/tenant-plan-checkout.js +4 -44
  14. package/dist/routes/tenant/tenant-plan-checkout.js.map +1 -1
  15. package/dist/routes/tenant/tenant-plan.d.ts +3 -0
  16. package/dist/routes/tenant/tenant-plan.js +27 -0
  17. package/dist/routes/tenant/tenant-plan.js.map +1 -1
  18. package/dist/stripe/billing-mode.d.ts +5 -0
  19. package/dist/stripe/billing-mode.js +7 -0
  20. package/dist/stripe/billing-mode.js.map +1 -0
  21. package/dist/stripe/client.js +1 -1
  22. package/dist/stripe/client.js.map +1 -1
  23. package/dist/stripe/customer-billing.js +1 -1
  24. package/dist/stripe/customer-billing.js.map +1 -1
  25. package/dist/stripe/index.d.ts +1 -0
  26. package/dist/stripe/index.js +1 -0
  27. package/dist/stripe/index.js.map +1 -1
  28. package/dist/stripe/payload-shapes.js.map +1 -1
  29. package/dist/stripe/plan-schedule.js +12 -2
  30. package/dist/stripe/plan-schedule.js.map +1 -1
  31. package/dist/stripe/webhook-checkout.js +2 -0
  32. package/dist/stripe/webhook-checkout.js.map +1 -1
  33. package/dist/stripe/webhook-credit-notes.js +13 -4
  34. package/dist/stripe/webhook-credit-notes.js.map +1 -1
  35. package/dist/stripe/workspace-checkout.d.ts +5 -0
  36. package/dist/stripe/workspace-checkout.js +27 -1
  37. package/dist/stripe/workspace-checkout.js.map +1 -1
  38. package/dist/workers/plan-migration.js +1 -1
  39. package/dist/workers/plan-migration.js.map +1 -1
  40. package/dist/workspaces/deletion.js +1 -1
  41. package/dist/workspaces/deletion.js.map +1 -1
  42. package/dist/workspaces/provisioning.js +2 -12
  43. package/dist/workspaces/provisioning.js.map +1 -1
  44. package/dist/workspaces/subscription-create-params.d.ts +3 -0
  45. package/dist/workspaces/subscription-create-params.js +17 -0
  46. package/dist/workspaces/subscription-create-params.js.map +1 -0
  47. package/frontend-vue/app/components/PendingCheckoutModal.vue +78 -0
  48. package/frontend-vue/app/components/PlanComparisonModal.vue +5 -0
  49. package/frontend-vue/app/components/PlanUpgradeModal.vue +5 -0
  50. package/frontend-vue/app/components/TenantPlanCard.vue +27 -1
  51. package/frontend-vue/app/components/WorkspaceCreateModal.vue +2 -0
  52. package/frontend-vue/app/composables/useApiErrorMessage.ts +9 -8
  53. package/frontend-vue/app/composables/usePendingCheckout.ts +88 -0
  54. package/frontend-vue/app/composables/useSaasRegistration.ts +1 -0
  55. package/frontend-vue/app/composables/useStripePaymentElement.ts +90 -13
  56. package/frontend-vue/app/composables/useTenantPlan.ts +41 -1
  57. package/frontend-vue/app/custom-pages/auth/no-workspace.vue +1 -0
  58. package/frontend-vue/i18n/locales/saas-en-GB.json +12 -0
  59. package/frontend-vue/i18n/locales/saas-fr-FR.json +12 -0
  60. package/frontend-vue/package.json +3 -0
  61. package/package.json +2 -2
package/README.md CHANGED
@@ -152,9 +152,10 @@ Both values reach the browser through the frontend module options
152
152
  `.registrationPaymentMethod`); `useSaasRegistration()` already reads them.
153
153
 
154
154
  The Stripe SetupIntent behind the card step is restricted to cards on the
155
- server (`payment_method_types: ["card"]`); the Payment Element is created from
156
- its client secret alone, since Stripe refuses `paymentMethodTypes` next to a
157
- `clientSecret`.
155
+ server (`allowed_payment_method_types: ["card"]`, since Stripe is retiring
156
+ `payment_method_types` on SetupIntent creation); the Payment Element is
157
+ created from its client secret alone, since Stripe refuses
158
+ `paymentMethodTypes` next to a `clientSecret`.
158
159
 
159
160
  ## Default plan
160
161
 
@@ -179,19 +180,27 @@ other plan (see [Tenant owner permissions](#tenant-owner-permissions)).
179
180
 
180
181
  ## Stripe API version and webhooks
181
182
 
182
- Every Stripe request is made with API version `2025-08-27.basil`, the version
183
- the installed `stripe` SDK is generated for (`STRIPE_API_VERSION` in
183
+ Every Stripe request is made with API version `2026-08-26.dahlia`, the version
184
+ the installed `stripe` SDK (v22) is generated for (`STRIPE_API_VERSION` in
184
185
  `src/stripe/client.ts`; the build fails if the two drift apart).
185
186
 
186
187
  A webhook endpoint renders its events in its **own** API version, set in the
187
188
  Stripe Dashboard (Developers → Webhooks → the endpoint → API version), not in
188
- the version of the requests. Set every endpoint that targets
189
- `/api/saas/webhooks/stripe` to `2025-08-27.basil`. Until then dms-saas still
190
- accepts events rendered in older versions: the fields basil moved — the
191
- subscription billing period (now on each subscription item), the invoice's
192
- subscription (`parent.subscription_details`), invoice and credit note taxes
193
- (`total_taxes`), and the credit note refund (`refunds`) — are read from their
194
- basil location first and from their older one second.
189
+ the version of the requests. **Every endpoint that targets
190
+ `/api/saas/webhooks/stripe` must use `2026-08-26.dahlia`.** Until it does,
191
+ dms-saas still accepts events rendered in older versions: the fields basil
192
+ moved — the subscription billing period (now on each subscription item), the
193
+ invoice's subscription (`parent.subscription_details`), invoice and credit
194
+ note taxes (`total_taxes`), and the credit note refund (`refunds`) — are read
195
+ from their basil location first and from their older one second. The clover
196
+ and dahlia releases moved none of the fields dms-saas reads.
197
+
198
+ New subscriptions, whether created at registration or by Checkout, are opened
199
+ in the `classic` billing mode (`billing_mode[type]=classic`). Since
200
+ `2025-09-30.clover` Stripe defaults new subscriptions to `flexible`, which no
201
+ longer invoices a free-to-paid upgrade at once and records Customer Portal
202
+ cancellations as `cancel_at` instead of `cancel_at_period_end`; the plan-change
203
+ flows rely on the `classic` behaviour every existing subscription has.
195
204
 
196
205
  Checkout Sessions opt out of Stripe Managed Payments
197
206
  (`managed_payments[enabled]=false`). An account that enabled Managed Payments
@@ -45,7 +45,7 @@ async function upsertFreeSubscription(tenantId, planId, freeUntil, createdBy) {
45
45
  requestedAt: new Date(),
46
46
  });
47
47
  if (existing?.stripeSubscriptionId) {
48
- await (0, stripe_1.getStripeClient)().subscriptions.cancel(existing.stripeSubscriptionId, { idempotencyKey: `admin-grant-free:${operationId}` });
48
+ await (0, stripe_1.getStripeClient)().subscriptions.cancel(existing.stripeSubscriptionId, undefined, { idempotencyKey: `admin-grant-free:${operationId}` });
49
49
  }
50
50
  const payload = {
51
51
  planId,
@@ -1 +1 @@
1
- {"version":3,"file":"workspaces-admin.js","sourceRoot":"","sources":["../../../src/routes/platformOwner/workspaces-admin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspaces-admin.js","sourceRoot":"","sources":["../../../src/routes/platformOwner/workspaces-admin.ts"],"names":[],"mappings":"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"}
@@ -123,7 +123,7 @@ async function resolveRefundEligibility(settings, subscription) {
123
123
  }
124
124
  async function issueRefundAndCancel(subscriptionId, stripeSubscriptionId, invoiceId, refundAmount) {
125
125
  const stripe = (0, stripe_1.getStripeClient)();
126
- await stripe.subscriptions.cancel(stripeSubscriptionId, {
126
+ await stripe.subscriptions.cancel(stripeSubscriptionId, undefined, {
127
127
  idempotencyKey: `cancel-self-refund:${subscriptionId}`,
128
128
  });
129
129
  await stripe.creditNotes.create({
@@ -1 +1 @@
1
- {"version":3,"file":"billing-self-refund.js","sourceRoot":"","sources":["../../../src/routes/tenant/billing-self-refund.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,6DAAkE;AAClE,uEAAwD;AACxD,6FAAkE;AAClE,6DAAmE;AACnE,uFAAkF;AAIlF,iCAIkB;AAClB,yCAIsB;AACtB,2CAA8C;AAE9C,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,cAAc,GAAG,GAAG,CAAC;AAC3B,MAAM,aAAa,GAAG,GAAG,CAAC;AAC1B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,2BAA2B,GAAG,GAAG,CAAC;AACxC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAEhC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AACzC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AACjD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,iBAAiB,GAAG,YAAY,CAAC;AACvC,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAO/C,MAAM,eAAe,GAAuC;IAC1D,CAAC,kBAAkB,CAAC,EAAE;QACpB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,gCAAgC;KAC1C;IACD,CAAC,sBAAsB,CAAC,EAAE;QACxB,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,8CAA8C;KACxD;IACD,CAAC,wBAAwB,CAAC,EAAE;QAC1B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,sCAAsC;KAChD;IACD,CAAC,iBAAiB,CAAC,EAAE;QACnB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,mCAAmC;KAC7C;IACD,CAAC,qBAAqB,CAAC,EAAE;QACvB,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,mCAAmC;KAC7C;CACF,CAAC;AA4BF,KAAK,UAAU,mBAAmB,CAChC,gBAAwB;IAExB,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IAIjC,IAAI,MAAM,GAA0B,IAAI,CAAC;IACzC,IAAI,aAAiC,CAAC;IACtC,SAAS,CAAC;QACR,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;YACtC,QAAQ,EAAE,gBAAgB;YAC1B,MAAM,EAAE,MAAM;YACd,KAAK,EAAE,2BAA2B;YAClC,cAAc,EAAE,aAAa;SAC9B,CAAC,CAAC;QACH,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,EAAE,CAAC;gBAC9D,MAAM,GAAG,OAAO,CAAC;YACnB,CAAC;QACH,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,MAAM;YAAE,MAAM;QACrC,aAAa,GAAG,MAAM,CAAC;IACzB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAuB;IAChD,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACtC,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAY;QACxB,UAAU,EAAE,OAAO,CAAC,WAAW;QAC/B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC;QAC7B,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,IAAI,IAAI;QACxC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,IAAI;QACpC,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;KACnC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,cAAsB,EAAE,UAAkB;IAChE,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,iBAAU,CAAC;IACpD,OAAO,cAAc,GAAG,aAAa,IAAI,MAAM,CAAC;AAClD,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwB,EAAE,IAAY;IACjE,IAAI,IAAI,KAAK,gBAAgB;QAAE,OAAO,OAAO,CAAC,UAAU,CAAC;IACzD,OAAO,IAAA,kCAAyB,EAC9B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,SAAS,EACjB,IAAA,2BAAkB,GAAE,CACrB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,QAAqC,EACrC,YAA4C;IAE5C,MAAM,UAAU,GAAG,QAAQ,EAAE,4BAA4B,IAAI,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,QAAQ,EAAE,sBAAsB,IAAI,IAAI,CAAC;IACtD,MAAM,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACjD,IAAI,CAAC,QAAQ,EAAE,yBAAyB,EAAE,CAAC;QACzC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,EAAE,CAAC;IAClE,CAAC;IACD,IAAI,CAAC,YAAY,EAAE,gBAAgB,IAAI,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC;QAC1E,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,sBAAsB,EAAE,GAAG,IAAI,EAAE,CAAC;IACtE,CAAC;IACD,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;QACnC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,IAAI,EAAE,CAAC;IACxE,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,mBAAmB,CAC7C,YAAY,CAAC,gBAAgB,CAC9B,CAAC;IACF,IAAI,CAAC,aAAa,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,GAAG,IAAI,EAAE,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,GAAG,IAAI,EAAE,CAAC;IACrE,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,cAAsB,EACtB,oBAA4B,EAC5B,SAAiB,EACjB,YAAoB;IAEpB,MAAM,MAAM,GAAG,IAAA,wBAAe,GAAE,CAAC;IAKjC,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,oBAAoB,EAAE;QACtD,cAAc,EAAE,sBAAsB,cAAc,EAAE;KACvD,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAC7B;QACE,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,YAAY;QACpB,aAAa,EAAE,YAAY;QAC3B,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,cAAc;KACvB,EACD,EAAE,cAAc,EAAE,eAAe,cAAc,EAAE,EAAE,CACpD,CAAC;AACJ,CAAC;AAED,MAAa,+BAAgC,SAAQ,IAAA,0BAAU,EAC7D,mBAAmB,CACpB;IAEO,AAAN,KAAK,CAAC,oBAAoB,CACL,KAAW,EACD,oBAA0C,EAEvE,uBAAgD;QAEhD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAC7C,kCAA6B,CAC9B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,YAAY,GAAG,WAAW,CAAC,OAAO;YACtC,CAAC,CAAC,mBAAmB,CACjB,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,IAAI,IAAI,gBAAgB,CACrC;YACH,CAAC,CAAC,IAAI,CAAC;QACT,OAAO;YACL,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,UAAU,EAAE,WAAW,CAAC,UAAU;YAClC,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,YAAY;YACZ,QAAQ,EAAE,WAAW,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI;SAChD,CAAC;IACJ,CAAC;IAGK,AAAN,KAAK,CAAC,iBAAiB,CACF,KAAW,EACD,oBAA0C,EAEvE,uBAAgD;QAEhD,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAC7C,kCAA6B,CAC9B,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,uBAAuB,CAAC,OAAO,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,wBAAwB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ;YAChC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QAC9C,IAAA,2BAAM,EACJ,WAAW,CAAC,QAAQ,EACpB,KAAK,EAAE,IAAI,IAAI,gBAAgB,EAC/B,KAAK,EAAE,OAAO,IAAI,iCAAiC,CACpD,CAAC;QACF,IAAA,2BAAM,EACJ,WAAW,CAAC,OAAO,IAAI,YAAY,EAAE,oBAAoB,EACzD,gBAAgB,EAChB,8CAA8C,CAC/C,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,eAAe,CAC3D,YAAY,CAAC,GAAG,CACjB,CAAC;QACF,IAAA,2BAAM,EAAC,OAAO,EAAE,aAAa,EAAE,sCAAsC,CAAC,CAAC;QAEvE,MAAM,YAAY,GAAG,mBAAmB,CACtC,WAAW,CAAC,OAAO,EACnB,WAAW,CAAC,IAAI,IAAI,gBAAgB,CACrC,CAAC;QACF,IAAI,CAAC;YACH,MAAM,oBAAoB,CACxB,YAAY,CAAC,GAAG,EAChB,YAAY,CAAC,oBAAoB,EACjC,WAAW,CAAC,OAAO,CAAC,EAAE,EACtB,YAAY,CACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAIf,MAAM,uBAAuB;iBAC1B,iBAAiB,CAAC,YAAY,CAAC,GAAG,CAAC;iBACnC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;IACpC,CAAC;CACF;AApFD,0EAoFC;AAhFO;IADL,IAAA,mBAAG,EAAC,qBAAqB,CAAC;IAExB,WAAA,IAAA,wBAAe,GAAE,CAAA;IACjB,WAAA,IAAA,qCAAK,EAAC,yBAAoB,CAAC,CAAA;IAC3B,WAAA,IAAA,uCAAiB,EAAC,4BAAuB,CAAC,CAAA;;+CADQ,yBAAoB;QAE9C,4BAAuB;;2EAqBjD;AAGK;IADL,IAAA,oBAAI,EAAC,cAAc,CAAC;IAElB,WAAA,IAAA,wBAAe,GAAE,CAAA;IACjB,WAAA,IAAA,qCAAK,EAAC,yBAAoB,CAAC,CAAA;IAC3B,WAAA,IAAA,uCAAiB,EAAC,4BAAuB,CAAC,CAAA;;+CADQ,yBAAoB;QAE9C,4BAAuB;;wEA+CjD"}
1
+ {"version":3,"file":"billing-self-refund.js","sourceRoot":"","sources":["../../../src/routes/tenant/billing-self-refund.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ export * from "./data-export";
4
4
  export * from "./tenant-billing";
5
5
  export * from "./tenant-plan";
6
6
  export * from "./tenant-plan-checkout";
7
+ export * from "./tenant-plan-checkout-recovery";
7
8
  export * from "./tenant-plan-ops";
8
9
  export * from "./tenant-seats";
9
10
  export * from "./workspaces";
@@ -20,6 +20,7 @@ __exportStar(require("./data-export"), exports);
20
20
  __exportStar(require("./tenant-billing"), exports);
21
21
  __exportStar(require("./tenant-plan"), exports);
22
22
  __exportStar(require("./tenant-plan-checkout"), exports);
23
+ __exportStar(require("./tenant-plan-checkout-recovery"), exports);
23
24
  __exportStar(require("./tenant-plan-ops"), exports);
24
25
  __exportStar(require("./tenant-seats"), exports);
25
26
  __exportStar(require("./workspaces"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/tenant/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,yDAAuC;AACvC,oDAAkC;AAClC,iDAA+B;AAC/B,+CAA6B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/routes/tenant/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mDAAiC;AACjC,wDAAsC;AACtC,gDAA8B;AAC9B,mDAAiC;AACjC,gDAA8B;AAC9B,yDAAuC;AACvC,kEAAgD;AAChD,oDAAkC;AAClC,iDAA+B;AAC/B,+CAA6B"}
@@ -0,0 +1,21 @@
1
+ import type { TenantSubscription, TenantSubscriptionModel } from "../../db";
2
+ export declare const UNRECORDED_CHECKOUT_TTL_MS: number;
3
+ export declare const CHECKOUT_CANCELLED_PARAM = "checkout";
4
+ export declare const CHECKOUT_CANCELLED_VALUE = "cancelled";
5
+ export declare const CHECKOUT_OPERATION_PARAM = "checkoutOperation";
6
+ export interface PendingCheckout {
7
+ targetPlanId: string | null;
8
+ checkoutUrl: string | null;
9
+ expiresAt: Date | null;
10
+ isPaid: boolean;
11
+ }
12
+ export interface PendingCheckoutResult {
13
+ pending: PendingCheckout | null;
14
+ }
15
+ export interface CancelCheckoutResult {
16
+ released: boolean;
17
+ }
18
+ export declare function withCheckoutCancelMarker(cancelUrl: string, operationId: string): string;
19
+ export declare function releaseAbandonedCheckout(subscription: TenantSubscription, model: TenantSubscriptionModel, now?: Date): Promise<TenantSubscription>;
20
+ export declare function describePendingCheckout(subscription: TenantSubscription | undefined): Promise<PendingCheckoutResult>;
21
+ export declare function cancelPendingCheckout(subscription: TenantSubscription | undefined, model: TenantSubscriptionModel, operationId: string | null, now?: Date): Promise<CancelCheckoutResult>;
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.CHECKOUT_OPERATION_PARAM = exports.CHECKOUT_CANCELLED_VALUE = exports.CHECKOUT_CANCELLED_PARAM = exports.UNRECORDED_CHECKOUT_TTL_MS = void 0;
7
+ exports.withCheckoutCancelMarker = withCheckoutCancelMarker;
8
+ exports.releaseAbandonedCheckout = releaseAbandonedCheckout;
9
+ exports.describePendingCheckout = describePendingCheckout;
10
+ exports.cancelPendingCheckout = cancelPendingCheckout;
11
+ const interface_api_1 = require("@antelopejs/interface-api");
12
+ const logging_1 = require("@antelopejs/interface-core/logging");
13
+ const stripe_1 = __importDefault(require("stripe"));
14
+ const client_1 = require("../../stripe/client");
15
+ const workspace_checkout_1 = require("../../stripe/workspace-checkout");
16
+ const tenant_plan_ops_1 = require("./tenant-plan-ops");
17
+ const CHECKOUT_KIND = "checkout";
18
+ const MS_PER_MINUTE = 60_000;
19
+ const MS_PER_SECOND = 1000;
20
+ const LOG_PREFIX = "[dms-saas:checkout]";
21
+ const CHECKOUT_IN_PROGRESS_KEY = "saas.errors.plan.checkout_in_progress";
22
+ const CHECKOUT_ALREADY_PAID_KEY = "saas.errors.plan.checkout_already_paid";
23
+ exports.UNRECORDED_CHECKOUT_TTL_MS = 15 * MS_PER_MINUTE;
24
+ exports.CHECKOUT_CANCELLED_PARAM = "checkout";
25
+ exports.CHECKOUT_CANCELLED_VALUE = "cancelled";
26
+ exports.CHECKOUT_OPERATION_PARAM = "checkoutOperation";
27
+ function withCheckoutCancelMarker(cancelUrl, operationId) {
28
+ const url = new URL(cancelUrl);
29
+ url.searchParams.set(exports.CHECKOUT_CANCELLED_PARAM, exports.CHECKOUT_CANCELLED_VALUE);
30
+ url.searchParams.set(exports.CHECKOUT_OPERATION_PARAM, operationId);
31
+ return url.toString();
32
+ }
33
+ function pendingCheckoutTransition(subscription) {
34
+ const transition = subscription?.domainTransition;
35
+ return transition?.kind === CHECKOUT_KIND ? transition : null;
36
+ }
37
+ async function retrieveRecordedSession(subscription, transition) {
38
+ if (!subscription.stripeCheckoutSessionId)
39
+ return null;
40
+ const session = await (0, client_1.getStripeClient)().checkout.sessions.retrieve(subscription.stripeCheckoutSessionId);
41
+ return session.metadata?.operationId === transition.operationId
42
+ ? session
43
+ : null;
44
+ }
45
+ function isUnrecordedPastTtl(transition, now) {
46
+ const age = now.getTime() - new Date(transition.requestedAt).getTime();
47
+ return age >= exports.UNRECORDED_CHECKOUT_TTL_MS;
48
+ }
49
+ async function releaseCheckoutTransition(subscription, model, session) {
50
+ const operationId = subscription.domainTransition?.operationId;
51
+ logging_1.Logging.Warn(`${LOG_PREFIX} releasing abandoned checkout ${operationId} of tenant ${subscription._id}`);
52
+ const outcome = await model.mutateRevision(subscription, {
53
+ domainTransition: null,
54
+ stripeCheckoutSessionId: null,
55
+ });
56
+ const released = await model.get(subscription._id);
57
+ if (!released)
58
+ throw new Error("Subscription vanished during release");
59
+ const isStillPending = released.domainTransition?.operationId === operationId;
60
+ if (outcome !== "applied" && isStillPending)
61
+ throw new Error(`Checkout release ${outcome}; reload before retry`);
62
+ if (session)
63
+ await (0, workspace_checkout_1.releaseCheckoutTrialReservation)(session, released._id);
64
+ return released;
65
+ }
66
+ async function findAbandonment(subscription, transition, now) {
67
+ const session = await retrieveRecordedSession(subscription, transition);
68
+ if (session)
69
+ return { isAbandoned: session.status === "expired", session };
70
+ return { isAbandoned: isUnrecordedPastTtl(transition, now), session };
71
+ }
72
+ async function releaseAbandonedCheckout(subscription, model, now = new Date()) {
73
+ const transition = pendingCheckoutTransition(subscription);
74
+ if (!transition)
75
+ return subscription;
76
+ const { isAbandoned, session } = await findAbandonment(subscription, transition, now);
77
+ if (!isAbandoned)
78
+ return subscription;
79
+ return releaseCheckoutTransition(subscription, model, session);
80
+ }
81
+ function describeSession(transition, session) {
82
+ if (session?.status === "expired")
83
+ return null;
84
+ const isOpen = session?.status === "open";
85
+ return {
86
+ targetPlanId: transition.targetPlanId,
87
+ checkoutUrl: isOpen ? (session.url ?? null) : null,
88
+ expiresAt: isOpen && session.expires_at
89
+ ? new Date(session.expires_at * MS_PER_SECOND)
90
+ : null,
91
+ isPaid: session?.status === "complete",
92
+ };
93
+ }
94
+ async function describePendingCheckout(subscription) {
95
+ const transition = pendingCheckoutTransition(subscription);
96
+ if (!subscription || !transition)
97
+ return { pending: null };
98
+ const session = await retrieveRecordedSession(subscription, transition);
99
+ return { pending: describeSession(transition, session) };
100
+ }
101
+ async function expireOpenSession(session) {
102
+ if (session.status !== "open")
103
+ return session;
104
+ const sessions = (0, client_1.getStripeClient)().checkout.sessions;
105
+ try {
106
+ return await sessions.expire(session.id);
107
+ }
108
+ catch (error) {
109
+ if (!(error instanceof stripe_1.default.errors.StripeInvalidRequestError))
110
+ throw error;
111
+ return sessions.retrieve(session.id);
112
+ }
113
+ }
114
+ const CANCELLATION_REFUSALS = {
115
+ open: CHECKOUT_IN_PROGRESS_KEY,
116
+ complete: CHECKOUT_ALREADY_PAID_KEY,
117
+ };
118
+ async function cancelRecordedSession(subscription, model, session) {
119
+ const settled = await expireOpenSession(session);
120
+ const refusal = settled.status && CANCELLATION_REFUSALS[settled.status];
121
+ if (refusal)
122
+ throw new interface_api_1.HTTPResult(tenant_plan_ops_1.HTTP_CONFLICT, refusal);
123
+ await releaseCheckoutTransition(subscription, model, settled);
124
+ return { released: true };
125
+ }
126
+ async function cancelPendingCheckout(subscription, model, operationId, now = new Date()) {
127
+ const transition = pendingCheckoutTransition(subscription);
128
+ if (!subscription || !transition)
129
+ return { released: false };
130
+ if (operationId && operationId !== transition.operationId)
131
+ return { released: false };
132
+ const session = await retrieveRecordedSession(subscription, transition);
133
+ if (session)
134
+ return cancelRecordedSession(subscription, model, session);
135
+ if (!isUnrecordedPastTtl(transition, now))
136
+ throw new interface_api_1.HTTPResult(tenant_plan_ops_1.HTTP_CONFLICT, CHECKOUT_IN_PROGRESS_KEY);
137
+ await releaseCheckoutTransition(subscription, model, null);
138
+ return { released: true };
139
+ }
140
+ //# sourceMappingURL=tenant-plan-checkout-recovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant-plan-checkout-recovery.js","sourceRoot":"","sources":["../../../src/routes/tenant/tenant-plan-checkout-recovery.ts"],"names":[],"mappings":";;;;;;AA0EA,4DAQC;AAiFD,4DAcC;AAoBD,0DAOC;AA6CD,sDAgBC;AA/PD,6DAAuD;AACvD,gEAA6D;AAC7D,oDAA4B;AAM5B,gDAAsD;AACtD,wEAAkF;AAClF,uDAAkD;AAElD,MAAM,aAAa,GAAG,UAAmB,CAAC;AAC1C,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,aAAa,GAAG,IAAI,CAAC;AAC3B,MAAM,UAAU,GAAG,qBAAqB,CAAC;AACzC,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AACzE,MAAM,yBAAyB,GAAG,wCAAwC,CAAC;AAQ9D,QAAA,0BAA0B,GAAG,EAAE,GAAG,aAAa,CAAC;AAShD,QAAA,wBAAwB,GAAG,UAAU,CAAC;AACtC,QAAA,wBAAwB,GAAG,WAAW,CAAC;AACvC,QAAA,wBAAwB,GAAG,mBAAmB,CAAC;AA4B5D,SAAgB,wBAAwB,CACtC,SAAiB,EACjB,WAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAwB,EAAE,gCAAwB,CAAC,CAAC;IACzE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,gCAAwB,EAAE,WAAW,CAAC,CAAC;IAC5D,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,yBAAyB,CAChC,YAA4C;IAE5C,MAAM,UAAU,GAAG,YAAY,EAAE,gBAAgB,CAAC;IAClD,OAAO,UAAU,EAAE,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,YAAgC,EAChC,UAAkC;IAElC,IAAI,CAAC,YAAY,CAAC,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAChE,YAAY,CAAC,uBAAuB,CACrC,CAAC;IAGF,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,UAAU,CAAC,WAAW;QAC7D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkC,EAClC,GAAS;IAET,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IACvE,OAAO,GAAG,IAAI,kCAA0B,CAAC;AAC3C,CAAC;AAOD,KAAK,UAAU,yBAAyB,CACtC,YAAgC,EAChC,KAA8B,EAC9B,OAAuC;IAEvC,MAAM,WAAW,GAAG,YAAY,CAAC,gBAAgB,EAAE,WAAW,CAAC;IAC/D,iBAAO,CAAC,IAAI,CACV,GAAG,UAAU,iCAAiC,WAAW,cAAc,YAAY,CAAC,GAAG,EAAE,CAC1F,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE;QACvD,gBAAgB,EAAE,IAAI;QACtB,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACvE,MAAM,cAAc,GAAG,QAAQ,CAAC,gBAAgB,EAAE,WAAW,KAAK,WAAW,CAAC;IAC9E,IAAI,OAAO,KAAK,SAAS,IAAI,cAAc;QACzC,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,uBAAuB,CAAC,CAAC;IACtE,IAAI,OAAO;QAAE,MAAM,IAAA,oDAA+B,EAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC;AAClB,CAAC;AAUD,KAAK,UAAU,eAAe,CAC5B,YAAgC,EAChC,UAAkC,EAClC,GAAS;IAET,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxE,IAAI,OAAO;QAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,OAAO,EAAE,CAAC;IAC3E,OAAO,EAAE,WAAW,EAAE,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC;AACxE,CAAC;AAMM,KAAK,UAAU,wBAAwB,CAC5C,YAAgC,EAChC,KAA8B,EAC9B,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,UAAU,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU;QAAE,OAAO,YAAY,CAAC;IACrC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,MAAM,eAAe,CACpD,YAAY,EACZ,UAAU,EACV,GAAG,CACJ,CAAC;IACF,IAAI,CAAC,WAAW;QAAE,OAAO,YAAY,CAAC;IACtC,OAAO,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjE,CAAC;AAED,SAAS,eAAe,CACtB,UAAkC,EAClC,OAAuC;IAEvC,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/C,MAAM,MAAM,GAAG,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC;IAC1C,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,YAAY;QACrC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAClD,SAAS,EACP,MAAM,IAAI,OAAO,CAAC,UAAU;YAC1B,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,GAAG,aAAa,CAAC;YAC9C,CAAC,CAAC,IAAI;QACV,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,UAAU;KACvC,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,uBAAuB,CAC3C,YAA4C;IAE5C,MAAM,UAAU,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxE,OAAO,EAAE,OAAO,EAAE,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,EAAE,CAAC;AAC3D,CAAC;AAOD,KAAK,UAAU,iBAAiB,CAC9B,OAAgC;IAEhC,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAC9C,MAAM,QAAQ,GAAG,IAAA,wBAAe,GAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACrD,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,gBAAM,CAAC,MAAM,CAAC,yBAAyB,CAAC;YAC7D,MAAM,KAAK,CAAC;QACd,OAAO,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAA2C;IACpE,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,yBAAyB;CACpC,CAAC;AAEF,KAAK,UAAU,qBAAqB,CAClC,YAAgC,EAChC,KAA8B,EAC9B,OAAgC;IAEhC,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACxE,IAAI,OAAO;QAAE,MAAM,IAAI,0BAAU,CAAC,+BAAa,EAAE,OAAO,CAAC,CAAC;IAC1D,MAAM,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC;AASM,KAAK,UAAU,qBAAqB,CACzC,YAA4C,EAC5C,KAA8B,EAC9B,WAA0B,EAC1B,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,UAAU,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7D,IAAI,WAAW,IAAI,WAAW,KAAK,UAAU,CAAC,WAAW;QACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxE,IAAI,OAAO;QAAE,OAAO,qBAAqB,CAAC,YAAY,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACxE,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC;QACvC,MAAM,IAAI,0BAAU,CAAC,+BAAa,EAAE,wBAAwB,CAAC,CAAC;IAChE,MAAM,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC"}
@@ -1,5 +1,2 @@
1
- import { type TenantSubscription, type TenantSubscriptionModel } from "../../db";
2
1
  import { type ChangePlanResult, type PlanChangeRequest } from "./tenant-plan-ops";
3
- export declare const UNRECORDED_CHECKOUT_TTL_MS: number;
4
- export declare function releaseAbandonedCheckout(subscription: TenantSubscription, model: TenantSubscriptionModel, now?: Date): Promise<TenantSubscription>;
5
2
  export declare function startPaidCheckout(request: PlanChangeRequest): Promise<ChangePlanResult>;
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.UNRECORDED_CHECKOUT_TTL_MS = void 0;
4
- exports.releaseAbandonedCheckout = releaseAbandonedCheckout;
5
3
  exports.startPaidCheckout = startPaidCheckout;
6
4
  const node_crypto_1 = require("node:crypto");
7
5
  const interface_api_1 = require("@antelopejs/interface-api");
@@ -18,15 +16,13 @@ const utils_1 = require("../../utils");
18
16
  const complimentary_1 = require("../../workspaces/complimentary");
19
17
  const trial_identity_model_1 = require("../../workspaces/db/trial-identity.model");
20
18
  const tenant_plan_ops_1 = require("./tenant-plan-ops");
19
+ const tenant_plan_checkout_recovery_1 = require("./tenant-plan-checkout-recovery");
21
20
  const HTTP_UNPROCESSABLE = 422;
22
21
  const HTTP_SERVICE_UNAVAILABLE = 503;
23
22
  const PENDING_PAYMENT_STATUS = "pending_payment";
24
23
  const PLACEHOLDER_PLAN_ID = null;
25
24
  const CHECKOUT_KIND = "checkout";
26
- const EXPIRED_SESSION_STATUS = "expired";
27
- const MS_PER_MINUTE = 60_000;
28
25
  const LOG_PREFIX = "[dms-saas:checkout]";
29
- exports.UNRECORDED_CHECKOUT_TTL_MS = 15 * MS_PER_MINUTE;
30
26
  const NO_TRIAL = { days: 0, reservedIdentityId: null };
31
27
  function asNonEmptyString(value) {
32
28
  return typeof value === "string" && value.trim().length > 0
@@ -78,43 +74,6 @@ async function initializeCheckoutSubscription(request) {
78
74
  throw new Error("Checkout subscription acknowledgement requires reconciliation");
79
75
  return subscription;
80
76
  }
81
- async function retrieveRecordedSession(subscription, transition) {
82
- if (!subscription.stripeCheckoutSessionId)
83
- return null;
84
- const session = await (0, client_1.getStripeClient)().checkout.sessions.retrieve(subscription.stripeCheckoutSessionId);
85
- return session.metadata?.operationId === transition.operationId
86
- ? session
87
- : null;
88
- }
89
- function isUnrecordedPastTtl(transition, now) {
90
- const age = now.getTime() - new Date(transition.requestedAt).getTime();
91
- return age >= exports.UNRECORDED_CHECKOUT_TTL_MS;
92
- }
93
- async function isAbandonedCheckout(subscription, transition, now) {
94
- const session = await retrieveRecordedSession(subscription, transition);
95
- if (session)
96
- return session.status === EXPIRED_SESSION_STATUS;
97
- return isUnrecordedPastTtl(transition, now);
98
- }
99
- async function releaseAbandonedCheckout(subscription, model, now = new Date()) {
100
- const transition = subscription.domainTransition;
101
- if (transition?.kind !== CHECKOUT_KIND)
102
- return subscription;
103
- if (!(await isAbandonedCheckout(subscription, transition, now))) {
104
- return subscription;
105
- }
106
- logging_1.Logging.Warn(`${LOG_PREFIX} releasing abandoned checkout ${transition.operationId} of tenant ${subscription._id}`);
107
- const outcome = await model.mutateRevision(subscription, {
108
- domainTransition: null,
109
- stripeCheckoutSessionId: null,
110
- });
111
- if (outcome !== "applied")
112
- throw new Error(`Checkout release ${outcome}; reload before retry`);
113
- const released = await model.get(subscription._id);
114
- if (!released)
115
- throw new Error("Subscription vanished during release");
116
- return released;
117
- }
118
77
  async function attachCheckoutSession(checkout, subscription, model, operationId) {
119
78
  await model.updateDuringTransition(subscription._id, operationId, {
120
79
  isComplimentary: (0, complimentary_1.isComplimentarySubscription)(subscription),
@@ -151,7 +110,7 @@ async function failCheckoutAttempt(error, attempt, model) {
151
110
  }
152
111
  async function admitCheckout(request) {
153
112
  const model = request.tenantSubscriptionModel;
154
- const subscription = await releaseAbandonedCheckout(await initializeCheckoutSubscription(request), model);
113
+ const subscription = await (0, tenant_plan_checkout_recovery_1.releaseAbandonedCheckout)(await initializeCheckoutSubscription(request), model);
155
114
  (0, interface_api_util_1.assert)(!subscription.domainTransition, tenant_plan_ops_1.HTTP_CONFLICT, subscription.domainTransition?.kind === CHECKOUT_KIND
156
115
  ? "saas.errors.plan.checkout_in_progress"
157
116
  : "saas.errors.plan.change_in_progress");
@@ -190,9 +149,10 @@ async function openCheckoutSession(request, attempt, target) {
190
149
  stripePriceId: target.stripePriceId,
191
150
  trialDays: trial.days,
192
151
  successUrl: redirect.successUrl,
193
- cancelUrl: redirect.cancelUrl,
152
+ cancelUrl: (0, tenant_plan_checkout_recovery_1.withCheckoutCancelMarker)(redirect.cancelUrl, attempt.operationId),
194
153
  planId: request.newPlan._id,
195
154
  existingCustomerId: customerId,
155
+ reservedTrialIdentityId: trial.reservedIdentityId,
196
156
  });
197
157
  }
198
158
  async function createAdmittedCheckout(request) {
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-plan-checkout.js","sourceRoot":"","sources":["../../../src/routes/tenant/tenant-plan-checkout.ts"],"names":[],"mappings":";;;AAkNA,4DAsBC;AAmLD,8CAMC;AAxZD,6CAAyC;AACzC,6DAAuD;AACvD,uEAAwD;AACxD,gEAA6D;AAC7D,6FAAqE;AACrE,iFAAyF;AAEzF,uDAAkE;AAClE,yCAAoD;AACpD,iCAKkB;AAClB,gDAAsD;AACtD,wEAOyC;AACzC,uCAAwC;AACxC,kEAA6E;AAC7E,mFAGkD;AAClD,uDAO2B;AAE3B,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAC/B,MAAM,wBAAwB,GAAG,GAAG,CAAC;AACrC,MAAM,sBAAsB,GAAG,iBAA0B,CAAC;AAC1D,MAAM,mBAAmB,GAAkB,IAAI,CAAC;AAChD,MAAM,aAAa,GAAG,UAAmB,CAAC;AAC1C,MAAM,sBAAsB,GAAG,SAAS,CAAC;AACzC,MAAM,aAAa,GAAG,MAAM,CAAC;AAC7B,MAAM,UAAU,GAAG,qBAAqB,CAAC;AAQ5B,QAAA,0BAA0B,GAAG,EAAE,GAAG,aAAa,CAAC;AAgC7D,MAAM,QAAQ,GAAe,EAAE,IAAI,EAAE,CAAC,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;AAEnE,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC;QACzD,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE;QACd,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,6BAA6B,CACpC,IAAoB;IAEpB,MAAM,UAAU,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnD,IAAA,2BAAM,EACJ,UAAU,IAAI,IAAA,6BAAoB,EAAC,UAAU,CAAC,EAC9C,kCAAgB,EAChB,wCAAwC,CACzC,CAAC;IACF,IAAA,2BAAM,EACJ,SAAS,IAAI,IAAA,6BAAoB,EAAC,SAAS,CAAC,EAC5C,kCAAgB,EAChB,wCAAwC,CACzC,CAAC;IACF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,OAA0B;IAE1B,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,IAAI,CAAC;QAAE,OAAO,QAAQ,CAAC;IAClE,MAAM,qBAAqB,GAAG,IAAA,wCAAQ,EAAC,0BAAqB,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAA,iBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,MAAM,qBAAqB,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;QACnE,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,UAAU,GAAG,IAAA,wCAAQ,EAAC,yCAAkB,CAAC,CAAC;IAChD,MAAM,EAAE,GAAG,IAAA,sCAAe,EAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC1D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAC/D,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC;AAC7D,CAAC;AAED,KAAK,UAAU,8BAA8B,CAC3C,OAA0B;IAE1B,IAAI,OAAO,CAAC,YAAY;QAAE,OAAO,OAAO,CAAC,YAAY,CAAC;IACtD,MAAM,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC;QAC3C,GAAG,EAAE,OAAO,CAAC,QAAQ;QACrB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,sBAAsB;QAC9B,eAAe,EAAE,KAAK;QACtB,gBAAgB,EAAE,EAAE;QACpB,gBAAgB,EAAE,IAAI;QACtB,oBAAoB,EAAE,IAAI;QAC1B,uBAAuB,EAAE,IAAI;QAC7B,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG;QAC3B,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,uBAAuB,CAAC,GAAG,CAC5D,OAAO,CAAC,QAAQ,CACjB,CAAC;IACF,IAAI,CAAC,YAAY;QACf,MAAM,IAAI,KAAK,CACb,+DAA+D,CAChE,CAAC;IACJ,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,YAAgC,EAChC,UAAkC;IAElC,IAAI,CAAC,YAAY,CAAC,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAe,GAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAChE,YAAY,CAAC,uBAAuB,CACrC,CAAC;IAGF,OAAO,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,UAAU,CAAC,WAAW;QAC7D,CAAC,CAAC,OAAO;QACT,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,mBAAmB,CAC1B,UAAkC,EAClC,GAAS;IAET,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;IACvE,OAAO,GAAG,IAAI,kCAA0B,CAAC;AAC3C,CAAC;AASD,KAAK,UAAU,mBAAmB,CAChC,YAAgC,EAChC,UAAkC,EAClC,GAAS;IAET,MAAM,OAAO,GAAG,MAAM,uBAAuB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IACxE,IAAI,OAAO;QAAE,OAAO,OAAO,CAAC,MAAM,KAAK,sBAAsB,CAAC;IAC9D,OAAO,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC9C,CAAC;AAOM,KAAK,UAAU,wBAAwB,CAC5C,YAAgC,EAChC,KAA8B,EAC9B,GAAG,GAAG,IAAI,IAAI,EAAE;IAEhB,MAAM,UAAU,GAAG,YAAY,CAAC,gBAAgB,CAAC;IACjD,IAAI,UAAU,EAAE,IAAI,KAAK,aAAa;QAAE,OAAO,YAAY,CAAC;IAC5D,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,iBAAO,CAAC,IAAI,CACV,GAAG,UAAU,iCAAiC,UAAU,CAAC,WAAW,cAAc,YAAY,CAAC,GAAG,EAAE,CACrG,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,cAAc,CAAC,YAAY,EAAE;QACvD,gBAAgB,EAAE,IAAI;QACtB,uBAAuB,EAAE,IAAI;KAC9B,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,SAAS;QACvB,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,uBAAuB,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAC;IACvE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,qBAAqB,CAClC,QAAkC,EAClC,YAAgC,EAChC,KAA8B,EAC9B,WAAmB;IAEnB,MAAM,KAAK,CAAC,sBAAsB,CAAC,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE;QAChE,eAAe,EAAE,IAAA,2CAA2B,EAAC,YAAY,CAAC;QAC1D,gBAAgB,EAAE,QAAQ,CAAC,UAAU;QACrC,uBAAuB,EAAE,QAAQ,CAAC,SAAS;QAC3C,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,KAAc;IACjD,IAAI,CAAC,CAAC,KAAK,YAAY,iDAA4B,CAAC;QAAE,OAAO;IAC7D,MAAM,IAAA,wBAAe,GAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAQD,KAAK,UAAU,uBAAuB,CACpC,OAAwB,EACxB,KAA8B;IAE9B,MAAM,KAAK,CAAC,kBAAkB,CAC5B,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,EACnB,EAAE,CACH,CAAC;IACF,IAAI,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACpC,MAAM,IAAA,wCAAQ,EAAC,yCAAkB,CAAC;aAC/B,aAAa,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,QAAQ,CAAC;aAChE,KAAK,CAAC,CAAC,YAAY,EAAE,EAAE,CACtB,iBAAO,CAAC,IAAI,CACV,GAAG,UAAU,qDAAqD,OAAO,CAAC,WAAW,EAAE,EACvF,YAAY,CACb,CACF,CAAC;IACN,CAAC;IACD,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC9B,MAAM,IAAA,iDAA4B,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,KAAK,CACjE,CAAC,YAAY,EAAE,EAAE,CACf,iBAAO,CAAC,IAAI,CACV,GAAG,UAAU,4CAA4C,OAAO,CAAC,iBAAiB,EAAE,EACpF,YAAY,CACb,CACJ,CAAC;IACJ,CAAC;AACH,CAAC;AAOD,KAAK,UAAU,mBAAmB,CAChC,KAAc,EACd,OAAwB,EACxB,KAA8B;IAE9B,iBAAO,CAAC,KAAK,CACX,GAAG,UAAU,sCAAsC,OAAO,CAAC,QAAQ,EAAE,EACrE,KAAK,CACN,CAAC;IACF,MAAM,iBAAiB,GAAG,KAAK,YAAY,iDAA4B,CAAC;IACxE,IAAI,CAAC,IAAA,gDAA2B,EAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC9D,MAAM,IAAI,0BAAU,CAClB,wBAAwB,EACxB,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,uBAAuB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAC9C,MAAM,IAAI,0BAAU,CAClB,kBAAkB,EAClB,uCAAuC,CACxC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,OAA0B;IAE1B,MAAM,KAAK,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAC9C,MAAM,YAAY,GAAG,MAAM,wBAAwB,CACjD,MAAM,8BAA8B,CAAC,OAAO,CAAC,EAC7C,KAAK,CACN,CAAC;IACF,IAAA,2BAAM,EACJ,CAAC,YAAY,CAAC,gBAAgB,EAC9B,+BAAa,EACb,YAAY,CAAC,gBAAgB,EAAE,IAAI,KAAK,aAAa;QACnD,CAAC,CAAC,uCAAuC;QACzC,CAAC,CAAC,qCAAqC,CAC1C,CAAC;IACF,MAAM,WAAW,GAAG,IAAA,wBAAU,GAAE,CAAC;IACjC,MAAM,KAAK,CAAC,eAAe,CAAC,YAAY,EAAE;QACxC,WAAW;QACX,IAAI,EAAE,aAAa;QACnB,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;QACjC,WAAW,EAAE,IAAI,IAAI,EAAE;KACxB,CAAC,CAAC;IACH,OAAO;QACL,YAAY;QACZ,WAAW;QACX,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,YAAY,CAAC,GAAG;QAChC,iBAAiB,EAAE,IAAI;QACvB,uBAAuB,EAAE,IAAI;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAA0B,EAC1B,OAAwB,EACxB,MAA6B;IAE7B,MAAM,EAAE,kBAAkB,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,OAAO,CAAC,uBAAuB,GAAG,KAAK,CAAC,kBAAkB,CAAC;IAG3D,MAAM,UAAU,GACd,kBAAkB;QAClB,CAAC,MAAM,IAAA,iDAA4B,EAAC;YAClC,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;SAC/B,CAAC,CAAC,CAAC;IACN,IAAI,CAAC,kBAAkB;QAAE,OAAO,CAAC,iBAAiB,GAAG,UAAU,CAAC;IAChE,OAAO,IAAA,mDAA8B,EAAC;QACpC,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QAC9B,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG;QAC3B,kBAAkB,EAAE,UAAU;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,sBAAsB,CACnC,OAA0B;IAE1B,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,OAAO,CAAC;IACrE,MAAM,QAAQ,GAAG,6BAA6B,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,OAAO,CAAC,mBAAmB,EAAE,aAAa,CAAC;IACjE,IAAA,2BAAM,EAAC,aAAa,EAAE,kCAAgB,EAAE,kCAAkC,CAAC,CAAC;IAC5E,MAAM,EAAE,YAAY,EAAE,GAAG,OAAO,EAAE,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE;QAC3D,aAAa;QACb,kBAAkB,EAAE,YAAY,CAAC,gBAAgB,IAAI,IAAI;QACzD,QAAQ;KACT,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE,CAC1B,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAC7D,CAAC;IACF,MAAM,qBAAqB,CACzB,QAAQ,EACR,YAAY,EACZ,uBAAuB,EACvB,OAAO,CAAC,WAAW,CACpB,CAAC;IACF,MAAM,IAAA,2CAA2B,EAAC,QAAQ,CAAC,CAAC;IAC5C,OAAO;QACL,GAAG,uCAAqB;QACxB,MAAM,EAAE,OAAO,CAAC,GAAG;QACnB,WAAW,EAAE,QAAQ,CAAC,GAAG;KAC1B,CAAC;AACJ,CAAC;AAGM,KAAK,UAAU,iBAAiB,CACrC,OAA0B;IAE1B,OAAO,IAAA,8CAA2B,EAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,CACxD,sBAAsB,CAAC,OAAO,CAAC,CAChC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tenant-plan-checkout.js","sourceRoot":"","sources":["../../../src/routes/tenant/tenant-plan-checkout.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { TenantModel } from "@antelopejs/interface-dms/db";
2
2
  import type { User } from "@antelopejs/interface-dms/auth/db";
3
3
  import { FeatureModel, PlanModel, TenantBillingInfoModel, TenantSubscriptionModel } from "../../db";
4
4
  import { type ChangePlanBody, type ChangePlanResult, type CurrentPlanResult } from "./tenant-plan-ops";
5
+ import { type CancelCheckoutResult, type PendingCheckoutResult } from "./tenant-plan-checkout-recovery";
5
6
  declare const SaasTenantPlanController_base: import("@antelopejs/interface-api").ControllerClass<object>;
6
7
  export declare class SaasTenantPlanController extends SaasTenantPlanController_base {
7
8
  tenantModel: TenantModel;
@@ -11,6 +12,8 @@ export declare class SaasTenantPlanController extends SaasTenantPlanController_b
11
12
  private loadSubscription;
12
13
  getCurrentPlan(_user: User, ctx: any, tenantSubscriptionModel: TenantSubscriptionModel): Promise<CurrentPlanResult>;
13
14
  cancelPendingChange(user: User, ctx: any, tenantSubscriptionModel: TenantSubscriptionModel): Promise<ChangePlanResult>;
15
+ getPendingCheckout(_user: User, tenantSubscriptionModel: TenantSubscriptionModel): Promise<PendingCheckoutResult>;
16
+ cancelCheckout(_user: User, operationId: unknown, ctx: any, tenantSubscriptionModel: TenantSubscriptionModel): Promise<CancelCheckoutResult>;
14
17
  changePlan(user: User, body: ChangePlanBody, ctx: any, tenantSubscriptionModel: TenantSubscriptionModel, tenantBillingInfoModel: TenantBillingInfoModel): Promise<ChangePlanResult>;
15
18
  private assertPlanChangeAllowed;
16
19
  private resolveSamePlanRequest;
@@ -18,6 +18,7 @@ const interface_api_util_1 = require("@antelopejs/interface-api-util");
18
18
  const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
19
19
  const db_1 = require("@antelopejs/interface-dms/db");
20
20
  const guards_1 = require("@antelopejs/interface-dms/guards");
21
+ const tenant_lifecycle_1 = require("@antelopejs/interface-dms/tenant-lifecycle");
21
22
  const request_tenant_1 = require("@antelopejs/interface-dms/request-tenant");
22
23
  const tenant_scoped_model_1 = require("@antelopejs/interface-dms/tenant-scoped-model");
23
24
  const tenant_access_1 = require("@antelopejs/interface-dms/tenant-access");
@@ -29,6 +30,7 @@ const complimentary_1 = require("../../workspaces/complimentary");
29
30
  const default_plan_1 = require("../../workspaces/default-plan");
30
31
  const tenant_plan_ops_1 = require("./tenant-plan-ops");
31
32
  const tenant_plan_checkout_1 = require("./tenant-plan-checkout");
33
+ const tenant_plan_checkout_recovery_1 = require("./tenant-plan-checkout-recovery");
32
34
  function startsPaidCheckout(newPlan, subscription) {
33
35
  return (0, tenant_plan_ops_1.isPaidPlan)(newPlan) && !subscription?.stripeSubscriptionId;
34
36
  }
@@ -92,6 +94,13 @@ class SaasTenantPlanController extends (0, interface_api_1.Controller)("/api/saa
92
94
  (0, interface_api_util_1.assert)(subscription?.pendingPlanId, tenant_plan_ops_1.HTTP_BAD_REQUEST, "saas.errors.plan.no_pending_change");
93
95
  return (0, tenant_plan_ops_1.dropPendingChange)(tenantId, subscription);
94
96
  }
97
+ async getPendingCheckout(_user, tenantSubscriptionModel) {
98
+ return (0, tenant_plan_checkout_recovery_1.describePendingCheckout)(await tenantSubscriptionModel.findOne());
99
+ }
100
+ async cancelCheckout(_user, operationId, ctx, tenantSubscriptionModel) {
101
+ const tenantId = (0, request_tenant_1.getRequestTenantId)(ctx);
102
+ return (0, tenant_lifecycle_1.runTenantLifecycleOperation)(tenantId, async () => (0, tenant_plan_checkout_recovery_1.cancelPendingCheckout)(await tenantSubscriptionModel.findOne(), tenantSubscriptionModel, typeof operationId === "string" && operationId ? operationId : null));
103
+ }
95
104
  async changePlan(user, body, ctx, tenantSubscriptionModel, tenantBillingInfoModel) {
96
105
  const tenantId = (0, request_tenant_1.getRequestTenantId)(ctx);
97
106
  const tenant = await this.tenantModel.get(tenantId);
@@ -184,6 +193,24 @@ __decorate([
184
193
  __metadata("design:paramtypes", [Function, Object, db_2.TenantSubscriptionModel]),
185
194
  __metadata("design:returntype", Promise)
186
195
  ], SaasTenantPlanController.prototype, "cancelPendingChange", null);
196
+ __decorate([
197
+ (0, interface_api_1.Get)("/checkout"),
198
+ __param(0, (0, guards_1.AuthTenantOwner)({ bypassTenantAccessGate: true })),
199
+ __param(1, (0, tenant_scoped_model_1.TenantScopedModel)(db_2.TenantSubscriptionModel)),
200
+ __metadata("design:type", Function),
201
+ __metadata("design:paramtypes", [Function, db_2.TenantSubscriptionModel]),
202
+ __metadata("design:returntype", Promise)
203
+ ], SaasTenantPlanController.prototype, "getPendingCheckout", null);
204
+ __decorate([
205
+ (0, interface_api_1.Delete)("/checkout"),
206
+ __param(0, (0, guards_1.AuthTenantOwner)({ bypassTenantAccessGate: true })),
207
+ __param(1, (0, interface_api_1.Parameter)(tenant_plan_checkout_recovery_1.CHECKOUT_OPERATION_PARAM, "query")),
208
+ __param(2, (0, interface_api_1.Context)()),
209
+ __param(3, (0, tenant_scoped_model_1.TenantScopedModel)(db_2.TenantSubscriptionModel)),
210
+ __metadata("design:type", Function),
211
+ __metadata("design:paramtypes", [Function, Object, Object, db_2.TenantSubscriptionModel]),
212
+ __metadata("design:returntype", Promise)
213
+ ], SaasTenantPlanController.prototype, "cancelCheckout", null);
187
214
  __decorate([
188
215
  (0, interface_api_1.Put)("/"),
189
216
  __param(0, (0, guards_1.AuthTenantOwner)({ bypassTenantAccessGate: true })),
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-plan.js","sourceRoot":"","sources":["../../../src/routes/tenant/tenant-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-plan.js","sourceRoot":"","sources":["../../../src/routes/tenant/tenant-plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ interface SubscriptionBillingMode {
2
+ type: "classic";
3
+ }
4
+ export declare const SUBSCRIPTION_BILLING_MODE: SubscriptionBillingMode;
5
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUBSCRIPTION_BILLING_MODE = void 0;
4
+ exports.SUBSCRIPTION_BILLING_MODE = {
5
+ type: "classic",
6
+ };
7
+ //# sourceMappingURL=billing-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing-mode.js","sourceRoot":"","sources":["../../src/stripe/billing-mode.ts"],"names":[],"mappings":";;;AAca,QAAA,yBAAyB,GAA4B;IAChE,IAAI,EAAE,SAAS;CAChB,CAAC"}
@@ -9,7 +9,7 @@ exports.isStripeConfigured = isStripeConfigured;
9
9
  exports.getStripeClient = getStripeClient;
10
10
  exports.getStripeWebhookSecret = getStripeWebhookSecret;
11
11
  const stripe_1 = __importDefault(require("stripe"));
12
- exports.STRIPE_API_VERSION = "2025-08-27.basil";
12
+ exports.STRIPE_API_VERSION = "2026-08-26.dahlia";
13
13
  const SECRET_KEY_PREFIX = "sk_";
14
14
  const PLACEHOLDER_MARKER = "placeholder";
15
15
  let stripeClient = null;
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/stripe/client.ts"],"names":[],"mappings":";;;;;;AA0BA,4CAMC;AAED,gDAEC;AAED,0CAOC;AAED,wDAKC;AApDD,oDAA4B;AAUf,QAAA,kBAAkB,GAA4B,kBAAkB,CAAC;AAC9E,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAC9C,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACjC,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAA2B;IAC1D,YAAY,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QAC1C,UAAU,EAAE,0BAAkB;KAC/B,CAAC,CAAC;IACH,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,sBAAsB;IACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/stripe/client.ts"],"names":[],"mappings":";;;;;;AA2BA,4CAMC;AAED,gDAEC;AAED,0CAOC;AAED,wDAKC;AArDD,oDAA4B;AAUf,QAAA,kBAAkB,GAA4B,mBAAmB,CAAC;AAE/E,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,kBAAkB,GAAG,aAAa,CAAC;AAEzC,IAAI,YAAY,GAAkB,IAAI,CAAC;AACvC,IAAI,mBAAmB,GAAkB,IAAI,CAAC;AAC9C,IAAI,gBAAgB,GAAG,KAAK,CAAC;AAE7B,SAAS,iBAAiB,CAAC,GAAW;IACpC,OAAO,CACL,OAAO,GAAG,KAAK,QAAQ;QACvB,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC;QACjC,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAClC,CAAC;AACJ,CAAC;AAED,SAAgB,gBAAgB,CAAC,MAA2B;IAC1D,YAAY,GAAG,IAAI,gBAAM,CAAC,MAAM,CAAC,SAAS,EAAE;QAC1C,UAAU,EAAE,0BAAkB;KAC/B,CAAC,CAAC;IACH,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC;IAC3C,gBAAgB,GAAG,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AACzD,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED,SAAgB,eAAe;IAC7B,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAgB,sBAAsB;IACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
@@ -94,7 +94,7 @@ function resolveCustomerName(profile) {
94
94
  }
95
95
  async function createCardSetupIntent() {
96
96
  const intent = await (0, client_1.getStripeClient)().setupIntents.create({
97
- payment_method_types: [CARD_PAYMENT_METHOD_TYPE],
97
+ allowed_payment_method_types: [CARD_PAYMENT_METHOD_TYPE],
98
98
  usage: OFF_SESSION_USAGE,
99
99
  });
100
100
  return { clientSecret: intent.client_secret };