From 9f01d39f5392496b39a7ac3189637e0bcd1cc45b Mon Sep 17 00:00:00 2001 From: Aftab3008 Date: Thu, 2 Jul 2026 21:29:44 +0530 Subject: [PATCH] Upgrade: Stripe upgrade from 21 to 22 and also fix for new stripe types --- CHANGELOG.md | 1 + .../api/src/app/subscription/subscription.service.ts | 12 ++++++++---- package-lock.json | 8 ++++---- package.json | 2 +- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 74e58db512..dfeae573e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -47,6 +47,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Improved the language localization for Japanese (`ja`) - Upgraded `@ionic/angular` from version `8.8.5` to `8.8.12` - Upgraded `nestjs` from version `11.1.21` to `11.1.27` +- Upgraded `stripe` from version `21.0.1` to `22.2.0` ### Fixed diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts index a811d22434..d6a8415837 100644 --- a/apps/api/src/app/subscription/subscription.service.ts +++ b/apps/api/src/app/subscription/subscription.service.ts @@ -21,12 +21,16 @@ import { Prisma, Subscription } from '@prisma/client'; import { addMilliseconds, isBefore } from 'date-fns'; import ms, { StringValue } from 'ms'; import Stripe from 'stripe'; +import type { + Stripe as StripeInstance, + Checkout as StripeCheckout +} from 'stripe'; @Injectable() export class SubscriptionService { private readonly logger = new Logger(SubscriptionService.name); - private stripe: Stripe; + private stripe: StripeInstance; public constructor( private readonly configurationService: ConfigurationService, @@ -37,7 +41,7 @@ export class SubscriptionService { this.stripe = new Stripe( this.configurationService.get('STRIPE_SECRET_KEY'), { - apiVersion: '2026-03-25.dahlia' + apiVersion: '2026-05-27.dahlia' } ); } @@ -63,7 +67,7 @@ export class SubscriptionService { } ); - const stripeCheckoutSessionCreateParams: Stripe.Checkout.SessionCreateParams = + const stripeCheckoutSessionCreateParams: StripeCheckout.SessionCreateParams = { cancel_url: `${this.configurationService.get('ROOT_URL')}/${ user.settings.settings.language @@ -77,7 +81,7 @@ export class SubscriptionService { ], locale: (user.settings?.settings - ?.language as Stripe.Checkout.SessionCreateParams.Locale) ?? + ?.language as StripeCheckout.SessionCreateParams.Locale) ?? DEFAULT_LANGUAGE_CODE, metadata: subscriptionOffer ? { subscriptionOffer: JSON.stringify(subscriptionOffer) } diff --git a/package-lock.json b/package-lock.json index ee04c509c4..c023ade739 100644 --- a/package-lock.json +++ b/package-lock.json @@ -90,7 +90,7 @@ "passport-openidconnect": "0.1.2", "reflect-metadata": "0.2.2", "rxjs": "7.8.1", - "stripe": "21.0.1", + "stripe": "22.2.0", "svgmap": "2.21.0", "tablemark": "4.1.0", "twitter-api-v2": "1.29.0", @@ -32298,9 +32298,9 @@ } }, "node_modules/stripe": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/stripe/-/stripe-21.0.1.tgz", - "integrity": "sha512-ocv0j7dWttswDWV2XL/kb6+yiLpDXNXL3RQAOB5OB2kr49z0cEatdQc12+zP/j5nrXk6rAsT4N3y/NUvBbK7Pw==", + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/stripe/-/stripe-22.2.0.tgz", + "integrity": "sha512-WFGpMOom9QZqso1kcnSwJsCdC1QHDlMoCOxBZRf3JraMzhkfw7dgSdD2a1CFZrqC+mzAfqeEtYILrZhWKIDruA==", "license": "MIT", "engines": { "node": ">=18" diff --git a/package.json b/package.json index 9c354a6303..271f78f5dd 100644 --- a/package.json +++ b/package.json @@ -134,7 +134,7 @@ "passport-openidconnect": "0.1.2", "reflect-metadata": "0.2.2", "rxjs": "7.8.1", - "stripe": "21.0.1", + "stripe": "22.2.0", "svgmap": "2.21.0", "tablemark": "4.1.0", "twitter-api-v2": "1.29.0",