From d835281138c29af7c6b23eefaf0c6b5fbf2646be Mon Sep 17 00:00:00 2001 From: Thomas <4159106+dtslvr@users.noreply.github.com> Date: Tue, 28 Feb 2023 21:14:54 +0100 Subject: [PATCH] Update api version, consider language of user --- .../subscription/subscription.controller.ts | 2 +- .../app/subscription/subscription.service.ts | 19 ++++++++----------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/apps/api/src/app/subscription/subscription.controller.ts b/apps/api/src/app/subscription/subscription.controller.ts index 4b21482ae..1f1aee649 100644 --- a/apps/api/src/app/subscription/subscription.controller.ts +++ b/apps/api/src/app/subscription/subscription.controller.ts @@ -117,7 +117,7 @@ export class SubscriptionController { return await this.subscriptionService.createCheckoutSession({ couponId, priceId, - userId: this.request.user.id + user: this.request.user }); } catch (error) { Logger.error(error, 'SubscriptionController'); diff --git a/apps/api/src/app/subscription/subscription.service.ts b/apps/api/src/app/subscription/subscription.service.ts index d3e9dcc7b..71d12627b 100644 --- a/apps/api/src/app/subscription/subscription.service.ts +++ b/apps/api/src/app/subscription/subscription.service.ts @@ -4,6 +4,7 @@ import { DEFAULT_LANGUAGE_CODE, PROPERTY_STRIPE_CONFIG } from '@ghostfolio/common/config'; +import { UserWithSettings } from '@ghostfolio/common/interfaces'; import { Subscription as SubscriptionInterface } from '@ghostfolio/common/interfaces/subscription.interface'; import { SubscriptionType } from '@ghostfolio/common/types/subscription.type'; import { Injectable, Logger } from '@nestjs/common'; @@ -23,7 +24,7 @@ export class SubscriptionService { this.stripe = new Stripe( this.configurationService.get('STRIPE_SECRET_KEY'), { - apiVersion: '2020-08-27' + apiVersion: '2022-11-15' } ); } @@ -31,17 +32,17 @@ export class SubscriptionService { public async createCheckoutSession({ couponId, priceId, - userId + user }: { couponId?: string; priceId: string; - userId: string; + user: UserWithSettings; }) { const checkoutSessionCreateParams: Stripe.Checkout.SessionCreateParams = { - cancel_url: `${this.configurationService.get( - 'ROOT_URL' - )}/${DEFAULT_LANGUAGE_CODE}/account`, - client_reference_id: userId, + cancel_url: `${this.configurationService.get('ROOT_URL')}/${ + user.Settings?.settings?.language ?? DEFAULT_LANGUAGE_CODE + }/account`, + client_reference_id: user.id, line_items: [ { price: priceId, @@ -116,10 +117,6 @@ export class SubscriptionService { userId: session.client_reference_id }); - await this.stripe.customers.update(session.customer as string, { - description: session.client_reference_id - }); - return session.client_reference_id; } catch (error) { Logger.error(error, 'SubscriptionService');