Интегрирующая полоса — ошибка JSONDecodeError

#django

Вопрос:

Здравствуйте, я интегрирую stripe с моим приложением Django, и я борюсь, потому что получаю ошибку. Я поместил весь код, который, по моему мнению, необходим для интеграции с полосой. Я был бы рад любому совету.

ошибка:

 "JSONDecodeError,   
Expecting value: line 1 column 1 (char 0) " 
 

views.py

 @csrf_exempt
def create_checkout_session(request, pk):

    request_data = json.loads(request.body)
    cart = Cart.objects.filter(order_user = request.user)

    stripe.api_key = os.environ.get('stripeAPI')
    checkout_session = stripe.checkout.Session.create(
        customer_email = request_data['email'],
        payment_method_types=['card'],
        line_items=[
            {
                'price_data': {
                    'currency': 'usd',
                    'product_data': {
                    'name': cart.order_items,
                    },
                    'unit_amount': cart.total,
                },
                'quantity': 1,
            }
        ],
        mode='payment',
        success_url=request.build_absolute_uri(
            reverse('success-page')
        )   "?session_id={CHECKOUT_SESSION_ID}",
        cancel_url=request.build_absolute_uri(reverse('cancel-page')),
    )
 

HTML шаблон:

 <form action="{% url 'checkout-page' 5 %}" method="GET">
        <button type="submit">Checkout</button>
    </form>
 

Путь к URL-адресу:

 path('create_checkout_session/<int:pk>', views.create_checkout_session, name='checkout-page'), 
 

models.py

 class OrderItem(models.Model):
    order_item = models.ForeignKey(Item, on_delete=CASCADE, null=True)
    quantity = models.IntegerField(default=1)

class Cart(models.Model):
    order_user = models.OneToOneField(User, on_delete=CASCADE)
    order_items = models.ManyToManyField(OrderItem)
    ordered = models.BooleanField(default=False)

class Item(Visits, models.Model):
    title = models.CharField(max_length=150)
    price = MoneyField(
        decimal_places=2,
        default=0,
        default_currency='USD',
        max_digits=11,
    )
    image = models.ImageField(upload_to='pictures', default='static/images/man.png')
    description = models.TextField(default="Item")
    visits = models.IntegerField(default=0)
    total = MoneyField(
    default=0.00, 
    decimal_places=2, 
    max_digits=11, 
    default_currency='USD')
 

Комментарии:

1. Добро пожаловать в SO! В вашем вопросе много кода, но я считаю , что важной частью являются данные JSON, которые вы пытаетесь проанализировать request_data = json.loads(request.body) , которые могут быть искажены. Попробуйте добавить print(request.body) перед этой строкой и добавьте результат к вашему вопросу.