const paymentContent = document.getElementById('paymentContent'); const item_id = document.getElementById('itemId').textContent; function initiateCheckout(item_id) { const csrftoken = getCookie('csrftoken'); console.log(item_id); console.log('CSRF Token:', csrftoken); fetch('/initiate_checkout/', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRFToken': csrftoken, 'X-Item-ID': item_id, }, body: JSON.stringify({ item_id: item_id }), }) .then(response => { if (!response.ok) { throw new Error('Network response was not ok'); } return response.json(); }) .then(data => { // Handle success response console.log("Session ID: " + data.session_id); // Update Checkout session with the fetched session ID and show the embedded page Checkout.configure({ session: { id: data.session_id, } }); $('#paymentContent').empty(); Checkout.showEmbeddedPage('#paymentContent'); sessionStorage.clear(); }) .catch(error => { console.error('There was a problem with the fetch operation:', error); }); } function getCookie(name) { let cookieValue = null; if (document.cookie && document.cookie !== '') { const cookies = document.cookie.split(';'); for (let i = 0; i < cookies.length; i++) { const cookie = cookies[i].trim(); if (cookie.substring(0, name.length + 1) === (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } initiateCheckout(item_id);