From bbe26341306454e4e9caca6b198ba4e60d05cc20 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 13 Oct 2022 23:32:21 -0700 Subject: card payments --- src/routes/+layout.server.js | 1 - src/routes/[username]/+page.server.js | 1 - src/routes/launch/+page.svelte | 1 + src/routes/pay/+page.server.js | 37 ++++++++++++ src/routes/pay/+page.svelte | 102 ++++++++++++++++++++++++++++++++++ src/routes/user/+server.js | 1 - 6 files changed, 140 insertions(+), 3 deletions(-) create mode 100644 src/routes/pay/+page.server.js create mode 100644 src/routes/pay/+page.svelte (limited to 'src') diff --git a/src/routes/+layout.server.js b/src/routes/+layout.server.js index 84e5ce5c..7f6e8801 100644 --- a/src/routes/+layout.server.js +++ b/src/routes/+layout.server.js @@ -1,5 +1,4 @@ import { error, redirect } from '@sveltejs/kit'; -import cookie from 'cookie'; import { protectedRoutes } from '$lib/utils'; import { get, post, auth } from '$lib/utils'; import { env } from '$env/dynamic/public'; diff --git a/src/routes/[username]/+page.server.js b/src/routes/[username]/+page.server.js index d6f2978c..0840161a 100644 --- a/src/routes/[username]/+page.server.js +++ b/src/routes/[username]/+page.server.js @@ -1,4 +1,3 @@ -import cookie from 'cookie'; import { get, post } from '$lib/utils'; export async function load({ params }) { diff --git a/src/routes/launch/+page.svelte b/src/routes/launch/+page.svelte index 6bd7067e..5e519eff 100644 --- a/src/routes/launch/+page.svelte +++ b/src/routes/launch/+page.svelte @@ -28,6 +28,7 @@

Coinos Launch Party!

+

Come join us at our launch party celebrating 10 years in business!

diff --git a/src/routes/pay/+page.server.js b/src/routes/pay/+page.server.js new file mode 100644 index 00000000..1393eecc --- /dev/null +++ b/src/routes/pay/+page.server.js @@ -0,0 +1,37 @@ +let stripe = 'https://api.stripe.com/v1'; + +export const actions = { + default: async ({ request }) => { + let form = await request.formData(); + + let headers = new Headers(); + headers.set( + 'Authorization', + 'Basic ' + new Buffer('sk_test_mBv5bAeAhiYSDYFZJNsDwjht:').toString('base64') + ); + + let body = new URLSearchParams({ + 'card[number]': form.get('number'), + 'card[exp_month]': form.get('expiry').slice(0, 2), + 'card[exp_year]': form.get('expiry').slice(-2), + 'card[cvc]': form.get('cvc') + }); + + let method = 'POST'; + + let { id: source } = await fetch(`${stripe}/tokens`, { body, headers, method }).then((r) => + r.json() + ); + + body = new URLSearchParams({ + amount: 600, + currency: 'cad', + source, + description: 'launch ticket' + }); + + let r = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => r.json()); + + console.log(r); + } +}; diff --git a/src/routes/pay/+page.svelte b/src/routes/pay/+page.svelte new file mode 100644 index 00000000..3b428511 --- /dev/null +++ b/src/routes/pay/+page.svelte @@ -0,0 +1,102 @@ + + +
+ + + + + + + +
diff --git a/src/routes/user/+server.js b/src/routes/user/+server.js index c9490984..b9c37e6e 100644 --- a/src/routes/user/+server.js +++ b/src/routes/user/+server.js @@ -1,5 +1,4 @@ import { auth, post } from '$lib/utils'; -import cookie from 'cookie'; export async function PUT({ cookies, request }) { let user = await request.json(); -- cgit v1.2.3