feat: add promotion codes support to SMS credit purchases (#23774)

Co-authored-by: peer@cal.com <peer@cal.com>
Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
This commit is contained in:
Peer Richelsen
2025-12-19 08:57:13 -03:00
committed by GitHub
co-authored by peer@cal.com Devin AI CarinaWolli Anik Dhabal Babu
parent 1135e47338
commit 4c282ea9ca
2 changed files with 4 additions and 1 deletions
@@ -44,8 +44,9 @@ export class StripeBillingService implements IBillingProviderService {
successUrl: string;
cancelUrl: string;
metadata?: Record<string, string>;
allowPromotionCodes?: boolean;
}) {
const { priceId, quantity, successUrl, cancelUrl, metadata } = args;
const { priceId, quantity, successUrl, cancelUrl, metadata, allowPromotionCodes = true } = args;
const session = await this.stripe.checkout.sessions.create({
line_items: [{ price: priceId, quantity }],
@@ -53,6 +54,7 @@ export class StripeBillingService implements IBillingProviderService {
success_url: successUrl,
cancel_url: cancelUrl,
metadata: metadata,
allow_promotion_codes: allowPromotionCodes,
invoice_creation: {
enabled: true,
},
@@ -77,6 +77,7 @@ export const buyCreditsHandler = async ({ ctx, input }: BuyCreditsOptions) => {
quantity,
successUrl: redirectUrl,
cancelUrl: redirectUrl,
allowPromotionCodes: true,
metadata: {
...(teamId && { teamId: teamId.toString() }),
userId: ctx.user.id.toString(),