From 20c785a692bb89bc21810a1fec6efb2dceb13dff Mon Sep 17 00:00:00 2001 From: Darshan Date: Sun, 18 Jan 2026 11:38:05 +0530 Subject: [PATCH] fix: urls and payment post routes. --- src/lib/stores/stripe.ts | 24 ++++++++++------- .../(console)/account/payments/+page.svelte | 2 +- .../(console)/apply-credit/+page.svelte | 11 ++++---- .../create-organization/+page.svelte | 27 ++++++++++++------- .../billing/+page.svelte | 18 ++++++++----- .../billing/retryPaymentModal.svelte | 16 ++++++----- .../change-plan/+page.svelte | 14 ++++++---- 7 files changed, 70 insertions(+), 42 deletions(-) diff --git a/src/lib/stores/stripe.ts b/src/lib/stores/stripe.ts index 11797553b..01a824a53 100644 --- a/src/lib/stores/stripe.ts +++ b/src/lib/stores/stripe.ts @@ -11,7 +11,7 @@ import { get, writable } from 'svelte/store'; import { Submit, trackError, trackEvent } from '$lib/actions/analytics'; import { addNotification } from './notifications'; import { organization } from './organization'; -import { base } from '$app/paths'; +import { resolve } from '$app/paths'; import { ThemeDarkCloud, ThemeLightCloud } from '$themes'; import Color from 'color'; import type { Models } from '@appwrite.io/console'; @@ -186,15 +186,20 @@ export async function setPaymentMethod(providerMethodId: string, name: string, s } } -export async function confirmPayment( - orgId: string, - clientSecret: string, - paymentMethodId: string, - route?: string -) { +export async function confirmPayment(config: { + clientSecret: string; + paymentMethodId: string; + orgId?: string; + route?: string; +}) { + const { clientSecret, paymentMethodId, orgId, route } = config; + try { - const url = - window.location.origin + (route ? route : `${base}/organization-${orgId}/billing`); + const resolvedUrl = resolve('/(console)/organization-[organization]/billing', { + organization: orgId + }); + + const url = window.location.origin + (route ? route : resolvedUrl); const paymentMethod = await sdk.forConsole.account.getPaymentMethod({ paymentMethodId }); @@ -205,6 +210,7 @@ export async function confirmPayment( payment_method: paymentMethod.providerMethodId } }); + if (error) { throw error.message; } diff --git a/src/routes/(console)/account/payments/+page.svelte b/src/routes/(console)/account/payments/+page.svelte index 0ca492230..f3e39a831 100644 --- a/src/routes/(console)/account/payments/+page.svelte +++ b/src/routes/(console)/account/payments/+page.svelte @@ -16,7 +16,7 @@ if (page.url.searchParams.has('clientSecret')) { const clientSecret = page.url.searchParams.get('clientSecret'); const paymentMethodId = page.url.searchParams.get('paymentMethodId'); - await confirmPayment('', clientSecret, paymentMethodId); + await confirmPayment({ clientSecret, paymentMethodId }); } }); diff --git a/src/routes/(console)/apply-credit/+page.svelte b/src/routes/(console)/apply-credit/+page.svelte index c8516076c..55c934ff4 100644 --- a/src/routes/(console)/apply-credit/+page.svelte +++ b/src/routes/(console)/apply-credit/+page.svelte @@ -1,6 +1,6 @@ diff --git a/src/routes/(console)/organization-[organization]/billing/retryPaymentModal.svelte b/src/routes/(console)/organization-[organization]/billing/retryPaymentModal.svelte index 13cbf9fd0..5cbcda62a 100644 --- a/src/routes/(console)/organization-[organization]/billing/retryPaymentModal.svelte +++ b/src/routes/(console)/organization-[organization]/billing/retryPaymentModal.svelte @@ -19,7 +19,7 @@ import { onMount } from 'svelte'; import { getApiEndpoint, sdk } from '$lib/stores/sdk'; import { formatCurrency } from '$lib/helpers/numbers'; - import { base } from '$app/paths'; + import { resolve } from '$app/paths'; import type { PaymentMethod as StripePaymentMethod } from '@stripe/stripe-js'; import type { Models } from '@appwrite.io/console'; @@ -117,12 +117,16 @@ if (status !== 'succeeded' && status !== 'cancelled') { // probably still pending, confirm via stripe! - await confirmPayment( - $organization.$id, + const resolvedUrl = resolve('/(console)/organization-[organization]/billing', { + organization: $organization.$id + }); + + await confirmPayment({ clientSecret, - paymentMethodId ? paymentMethodId : $organization.paymentMethodId, - `${base}/organization-${$organization.$id}/billing?type=validate-invoice&invoice=${invoice.$id}` - ); + paymentMethodId: paymentMethodId ?? $organization.paymentMethodId, + orgId: $organization.$id, + route: `${resolvedUrl}?type=validate-invoice&invoice=${invoice.$id}` + }); await sdk.forConsole.organizations.validateInvoice({ organizationId: $organization.$id, diff --git a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte index bf61a0b41..2d94f4f10 100644 --- a/src/routes/(console)/organization-[organization]/change-plan/+page.svelte +++ b/src/routes/(console)/organization-[organization]/change-plan/+page.svelte @@ -1,6 +1,6 @@