aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/launch/purchase/card/+page.server.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/routes/launch/purchase/card/+page.server.js')
-rw-r--r--src/routes/launch/purchase/card/+page.server.js16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/routes/launch/purchase/card/+page.server.js b/src/routes/launch/purchase/card/+page.server.js
index eaa8d5f3..34a2a8e1 100644
--- a/src/routes/launch/purchase/card/+page.server.js
+++ b/src/routes/launch/purchase/card/+page.server.js
@@ -1,16 +1,19 @@
import { env } from '$env/dynamic/private';
+import { error, redirect } from '@sveltejs/kit';
+import { post, auth } from '$lib/utils';
+import { createTicket } from "$lib/ticket";
let stripe = 'https://api.stripe.com/v1';
export const actions = {
- default: async ({ request }) => {
+ default: async ({ cookies, request }) => {
let form = await request.formData();
let headers = new Headers();
headers.set('Authorization', 'Basic ' + new Buffer(env.STRIPE + ':').toString('base64'));
let body = new URLSearchParams({
- 'card[number]': form.get('number'),
+ 'card[number]': form.get('number').replace(/\s+/g, ''),
'card[exp_month]': form.get('expiry').slice(0, 2),
'card[exp_year]': form.get('expiry').slice(-2),
'card[cvc]': form.get('cvc')
@@ -29,8 +32,13 @@ export const actions = {
description: 'launch ticket'
});
- let r = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) => r.json());
+ let { status } = await fetch(`${stripe}/charges`, { body, headers, method }).then((r) =>
+ r.json()
+ );
+
+ if (status !== 'succeeded') throw error(500, { message: 'Card payment failed' });
+ let asset = await createTicket(cookies, form.get('username'));
- console.log(r);
+ throw redirect(307, `/launch/thanks/${asset}`);
}
};