GetCookie(name) в django для интеграции с paypal

Я пытаюсь интегрировать платеж paypal в один сайт. Мне нужен идентификатор платежа paypal и ответ о статусе. У меня уже есть кнопка paypal, интегрированная с помощью функции paypal.Buttons.

Проблема, с которой я сталкиваюсь, заключается в том, что если я использую токен csrf, кнопка paypal исчезает со страницы. Если я не использую csrf, то функция работает, но с ошибкой "Forbidden (CSRF token missing.):". Если я уберу " 'X-CSRFToken': 'csrftoken'" из функции sendData() и "var csrftoken = getCookie('csrftoken');", то кнопка paypal снова появится.

var csrftoken = getCookie('csrftoken');
var url = "{% url 'payments' %}"     // payments is a custom name
var orderID = "{{ order.order_number }}"  
var payment_method = " PayPal"


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 = docodeURIComponent(cookie.substring(name.length + 1));
                    break;
                }
            }
        }
        return cookieValue;
    }

function sendData() {
                    fetch(url, {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json',
                            'X-CSRFToken': 'csrftoken',
                        },
                        body: JSON.stringify({
                            orderID: orderID,   
                            transID: details.id,   // from paypal response
                            payment_method: payment_method,
                            status: details.status,  // from paypal response
                        }),
                    })
                }

Я пробовал использовать несколько функций getCookie. Ошибка точно связана с csrftoken. Ожидаю поддержки по этому вопросу. Заранее спасибо. `

Вернуться на верх