Require successful charge on manual early trial conversion - #14148
pieterbeulque merged 6 commits into
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
OpenAPI ChangesOperations
Schemas
|
There was a problem hiding this comment.
All reported issues were addressed across 8 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
| billing_reason: OrderBillingReasonInternal, | ||
| *, | ||
| cutoff: datetime, | ||
| ) -> Order: |
There was a problem hiding this comment.
Could we factorize with _create_subscription_update_order? One inline import is already too much for my delicate eyes 😛
There was a problem hiding this comment.
0 issues found across 5 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Requires human review: Manual trial early conversion now charges synchronously before activating, changing public API error responses and payment handling behavior. This is an operational and product decision that needs human review.
Re-trigger cubic
debec00 to
c022648
Compare
Co-authored-by: Pieter Beulque <pieterbeulque@gmail.com>
2598dae to
7b5753a
Compare
There was a problem hiding this comment.
All reported issues were addressed
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
There was a problem hiding this comment.
0 issues found across 2 files (changes from recent commits).
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Requires human review: Manual early trial conversion now charges synchronously and keeps the subscription trialing if the charge fails, with new 402/403 API response types; the payment-handling and product-behavior tradeoffs need human sign-off.
Re-trigger cubic
Similar to how we attempt the charge before updating a subscription, attempt the charge before converting a trial early.
We do this only for explicit early conversions by setting
trial_endtonow, the automatic trial conversion still will flip trialing → active, then a failed payment will mark it as past due. TBD if we also want to change that, it may make sense to change from trialing → canceled instead of trialing → past due, but I think that's a different discussion. Since this focuses only on the manual trial-conversion path, the merchant has control, so we don't have to think about that.