feat(server): ai trial support (#9031)

This commit is contained in:
liuyi
2024-12-05 18:39:59 +09:00
committed by GitHub
parent 5bf8ed1095
commit 4c39b89b98
3 changed files with 22 additions and 4 deletions
@@ -148,6 +148,15 @@ export class UserSubscriptionManager extends SubscriptionManager {
return { allow_promotion_codes: true };
})();
const trials = (() => {
if (lookupKey.plan === SubscriptionPlan.AI && !strategy.aiSubscribed) {
return {
trial_period_days: 7,
} as Stripe.Checkout.SessionCreateParams.SubscriptionData;
}
return undefined;
})();
// mode: 'subscription' or 'payment' for lifetime and onetime payment
const mode =
lookupKey.recurring === SubscriptionRecurring.Lifetime ||
@@ -169,11 +178,17 @@ export class UserSubscriptionManager extends SubscriptionManager {
quantity: 1,
},
],
customer_update: {
name: 'auto',
},
tax_id_collection: {
enabled: true,
},
...discounts,
...mode,
subscription_data: {
...trials,
},
success_url: this.url.link(params.successCallbackLink, {
session_id: '{CHECKOUT_SESSION_ID}',
}),