Skip to main content

max / makenotwork

1.3 KB · 40 lines History Blame Raw
1 (function() {
2 var cfg = document.getElementById('page-purchase-cfg');
3 if (!cfg) return;
4 var itemId = cfg.dataset.itemId;
5 var pwywEnabled = cfg.dataset.pwywEnabled === 'true';
6
7 window.guestCheckout = function() {
8 const btn = document.getElementById('guest-checkout-btn');
9 btn.disabled = true;
10 btn.textContent = 'Redirecting...';
11
12 const body = {};
13 if (pwywEnabled) {
14 const amount = parseFloat(document.getElementById('guest_pwyw_amount').value);
15 body.amount_cents = Math.round(amount * 100);
16 }
17
18 fetch('/api/checkout/guest/' + itemId, {
19 method: 'POST',
20 headers: { 'Content-Type': 'application/json' },
21 body: JSON.stringify(body),
22 })
23 .then(r => r.json())
24 .then(data => {
25 if (data.checkout_url) {
26 window.location.href = data.checkout_url;
27 } else {
28 btn.disabled = false;
29 btn.textContent = 'Buy Now';
30 alert(data.error || 'Something went wrong');
31 }
32 })
33 .catch(() => {
34 btn.disabled = false;
35 btn.textContent = 'Buy Now';
36 alert('Something went wrong. Please try again.');
37 });
38 };
39 })();
40