aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/launch/purchase/card/+page.server.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-10-17 11:11:52 -0700
committerAdam Soltys <[email protected]>2022-10-17 11:11:52 -0700
commit44bee42517e70dce187534dac676f52c7b1f327f (patch)
tree78049d1c589dbd09a4cf9eb720e4640f91482950 /src/routes/launch/purchase/card/+page.server.js
parent87fc33dfa162554b540dfb640ba1c1f66f9132d2 (diff)
downloadcoinos-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.js37
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);
+ }
+};