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 @@