diff --git a/packages/features/ee/billing/service/billingProvider/StripeBillingService.ts b/packages/features/ee/billing/service/billingProvider/StripeBillingService.ts index 5c1d2e44e1..c1bbda7262 100644 --- a/packages/features/ee/billing/service/billingProvider/StripeBillingService.ts +++ b/packages/features/ee/billing/service/billingProvider/StripeBillingService.ts @@ -44,8 +44,9 @@ export class StripeBillingService implements IBillingProviderService { successUrl: string; cancelUrl: string; metadata?: Record; + 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, }, diff --git a/packages/trpc/server/routers/viewer/credits/buyCredits.handler.ts b/packages/trpc/server/routers/viewer/credits/buyCredits.handler.ts index f8dbab855f..f10e3a3d35 100644 --- a/packages/trpc/server/routers/viewer/credits/buyCredits.handler.ts +++ b/packages/trpc/server/routers/viewer/credits/buyCredits.handler.ts @@ -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(),