From 55bae60f69631e42dbe32070c2e31e82499ab648 Mon Sep 17 00:00:00 2001 From: martmull Date: Mon, 13 Jan 2025 18:03:01 +0100 Subject: [PATCH] Fix wrong domainName for redirect url (#9586) Closes https://github.com/twentyhq/twenty/issues/9097 Fixes the redirect url of stripe `checkout` and `billingPortal` sessions ## Before https://github.com/user-attachments/assets/4ccab325-41e1-494e-854a-9d9a72e534f1 ## After https://github.com/user-attachments/assets/740b07f4-84b0-4670-a5b6-2684fde640c8 --- .../engine/core-modules/billing/billing.resolver.ts | 2 +- .../services/billing-portal.workspace-service.ts | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts index 5109c1ffe..34d55e277 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/billing.resolver.ts @@ -45,7 +45,7 @@ export class BillingResolver { ) { return { url: await this.billingPortalWorkspaceService.computeBillingPortalSessionURLOrThrow( - workspace.id, + workspace, returnUrlPath, ), }; diff --git a/packages/twenty-server/src/engine/core-modules/billing/services/billing-portal.workspace-service.ts b/packages/twenty-server/src/engine/core-modules/billing/services/billing-portal.workspace-service.ts index 788f2bf6e..896679364 100644 --- a/packages/twenty-server/src/engine/core-modules/billing/services/billing-portal.workspace-service.ts +++ b/packages/twenty-server/src/engine/core-modules/billing/services/billing-portal.workspace-service.ts @@ -36,7 +36,9 @@ export class BillingPortalWorkspaceService { plan?: BillingPlanKey, requirePaymentMethod?: boolean, ): Promise { - const frontBaseUrl = this.domainManagerService.getBaseUrl(); + const frontBaseUrl = this.domainManagerService.buildWorkspaceURL({ + subdomain: workspace.subdomain, + }); const cancelUrl = frontBaseUrl.toString(); if (successUrlPath) { @@ -72,13 +74,13 @@ export class BillingPortalWorkspaceService { } async computeBillingPortalSessionURLOrThrow( - workspaceId: string, + workspace: Workspace, returnUrlPath?: string, ) { const currentSubscription = await this.billingSubscriptionService.getCurrentBillingSubscriptionOrThrow( { - workspaceId, + workspaceId: workspace.id, }, ); @@ -92,7 +94,9 @@ export class BillingPortalWorkspaceService { throw new Error('Error: missing stripeCustomerId'); } - const frontBaseUrl = this.domainManagerService.getBaseUrl(); + const frontBaseUrl = this.domainManagerService.buildWorkspaceURL({ + subdomain: workspace.subdomain, + }); if (returnUrlPath) { frontBaseUrl.pathname = returnUrlPath;