From c151d558f4020388704be71d830a1892fed951b6 Mon Sep 17 00:00:00 2001 From: Emily Date: Tue, 4 Jun 2024 15:36:57 +0200 Subject: [PATCH] stripe --- dashboard/pages/admin/index.vue | 12 +++--- dashboard/pages/plans.vue | 34 +++++++++++++++-- .../api/pay/[project_id]/create.post.ts | 4 +- .../server/api/pay/[project_id]/invoices.ts | 37 +++++++++++++++++++ dashboard/server/api/pay/webhook.post.ts | 28 ++++++++------ dashboard/server/services/StripeService.ts | 11 +++++- 6 files changed, 101 insertions(+), 25 deletions(-) create mode 100644 dashboard/server/api/pay/[project_id]/invoices.ts diff --git a/dashboard/pages/admin/index.vue b/dashboard/pages/admin/index.vue index 11529f4..4c82d82 100644 --- a/dashboard/pages/admin/index.vue +++ b/dashboard/pages/admin/index.vue @@ -76,11 +76,13 @@ function onHideClicked() { const activeProject = useActiveProject(); async function payment() { - const res = await $fetch(`/api/pay/${activeProject.value?._id.toString()}/create`, { - ...signHeaders({ 'content-type': 'application/json' }), - method: 'POST', - body: JSON.stringify({ planId: 1 }) - }) + // const res = await $fetch(`/api/pay/${activeProject.value?._id.toString()}/create`, { + // ...signHeaders({ 'content-type': 'application/json' }), + // method: 'POST', + // body: JSON.stringify({ planId: 1 }) + // }) + // console.log(res); + const res = await $fetch(`/api/pay/${activeProject.value?._id.toString()}/invoices`, signHeaders()) console.log(res); } diff --git a/dashboard/pages/plans.vue b/dashboard/pages/plans.vue index f922845..7dc9ec7 100644 --- a/dashboard/pages/plans.vue +++ b/dashboard/pages/plans.vue @@ -37,12 +37,17 @@ const prettyExpireDate = computed(() => { }); -const router = useRouter(); +const { data: invoices } = await useFetch(`/api/pay/${activeProject.value?._id.toString()}/invoices`, signHeaders()) + const showPricingDrawer = ref(false); function onPlanUpgradeClick() { showPricingDrawer.value = true; } +function openInvoice(link: string) { + window.open(link, '_blank'); +} +