diff options
| author | Adam Soltys <[email protected]> | 2022-10-18 21:58:17 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-10-18 21:58:17 -0700 |
| commit | b7571e82c8c2e52ecf8565cfb2ab99a7620673ad (patch) | |
| tree | 41547fe1e0ff8f3d9542003d51e97a496240d1e1 /src/routes/launch/purchase/card/+page.server.js | |
| parent | ad24f34434368d3767fd147d80d45adc3c28f106 (diff) | |
| download | coinos-ui-tickets.tar.gz coinos-ui-tickets.zip | |
handle card paymenttickets
Diffstat (limited to 'src/routes/launch/purchase/card/+page.server.js')
| -rw-r--r-- | src/routes/launch/purchase/card/+page.server.js | 16 |
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}`); } }; |
