diff options
| author | Adam Soltys <[email protected]> | 2022-10-17 11:11:52 -0700 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-10-17 11:11:52 -0700 |
| commit | 44bee42517e70dce187534dac676f52c7b1f327f (patch) | |
| tree | 78049d1c589dbd09a4cf9eb720e4640f91482950 /src/routes/launch/purchase/card/+page.server.js | |
| parent | 87fc33dfa162554b540dfb640ba1c1f66f9132d2 (diff) | |
| download | coinos-ui-44bee42517e70dce187534dac676f52c7b1f327f.tar.gz coinos-ui-44bee42517e70dce187534dac676f52c7b1f327f.zip | |
tickets wip
Diffstat (limited to 'src/routes/launch/purchase/card/+page.server.js')
| -rw-r--r-- | src/routes/launch/purchase/card/+page.server.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/routes/launch/purchase/card/+page.server.js b/src/routes/launch/purchase/card/+page.server.js new file mode 100644 index 00000000..1393eecc --- /dev/null +++ b/src/routes/launch/purchase/card/+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); + } +}; |
