首页 > 解决方案 > 有没有办法在 Stripe 结帐中列出项目?

问题描述

您好,我很挣扎我想在 Stripe 结帐多个项目,但我不知道如何。如果没有办法做到这一点,我不会改变任何东西,只是从 cart.total 中向人们收费。

视图.py

try:
            cart = Cart.objects.get(order_user=request.user)
            checkout_session = stripe.checkout.Session.create(
                payment_method_types=['card', 'p24'], 
                line_items=[{
                'price_data': {
                    'currency': 'eur',
                    'product_data': {
                    'name': "Total"
                    },
                    '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')),
            )

models.py 

class Item(Visits, models.Model):
    title = models.CharField(max_length=150)
    price =  models.IntegerField(default=1000)
    image = models.ImageField(upload_to='pictures', default='static/images/man.png')
    description = models.TextField(default="Item")
    visits = models.IntegerField(default=0)

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)
    total = models.IntegerField(default=1000)

标签: django

解决方案


推荐阅读