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'); }