From 46d060df1b85b5faedf960ea829c887d82dafd26 Mon Sep 17 00:00:00 2001 From: Thomas Kaul <4159106+dtslvr@users.noreply.github.com> Date: Mon, 14 Sep 2026 20:12:21 +0200 Subject: [PATCH] Bugfix/coupon validation in Stripe checkout session (#7877) Fix coupon validation --- .../api/src/app/subscription/subscription.service.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts index 312b8c3ae..f5acbc3e3 100644 --- a/apps/api/src/app/subscription/subscription.service.ts +++ b/apps/api/src/app/subscription/subscription.service.ts @@ -58,17 +58,23 @@ export class SubscriptionService { } = (await this.propertyService.getByKey(PROPERTY_STRIPE_CONFIG)) ?? {}; - const subscriptionOffer = Object.values(subscriptionOffers).find( + const subscriptionOffersForPrice = Object.values(subscriptionOffers).filter( (subscriptionOffer) => { return subscriptionOffer.priceId === priceId; } ); - if (!subscriptionOffer) { + if (subscriptionOffersForPrice.length === 0) { throw new BadRequestException('Invalid priceId'); } - if (couponId && couponId !== subscriptionOffer.couponId) { + const subscriptionOffer = subscriptionOffersForPrice.find( + (subscriptionOffer) => { + return subscriptionOffer.couponId === couponId; + } + ); + + if (!subscriptionOffer) { throw new BadRequestException('Invalid couponId'); }