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
This commit is contained in:
martmull
2025-01-13 18:03:01 +01:00
committed by GitHub
parent 17850b76ab
commit 55bae60f69
2 changed files with 9 additions and 5 deletions

View File

@ -45,7 +45,7 @@ export class BillingResolver {
) {
return {
url: await this.billingPortalWorkspaceService.computeBillingPortalSessionURLOrThrow(
workspace.id,
workspace,
returnUrlPath,
),
};

View File

@ -36,7 +36,9 @@ export class BillingPortalWorkspaceService {
plan?: BillingPlanKey,
requirePaymentMethod?: boolean,
): Promise<string> {
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;