69.3 Item stock not updating and overloading payments
def finalize_payment(request) :
data = request.GET.dict()
status = data.get("status")
payment_id = data.get("preference_id")
if status == "approved" :
payment = Payment.objects.get(payment_id=payment_id) #? getting the already existing payment
payment.aproved = True
order = payment.order
order.finished = True
order.end_date = datetime.now()
#? updating the stock
items_ordered = OrderedItem.objects.filter(order=order)
for item_ordered in items_ordered :
item_stock = ItemStock.objects.get(product=item_ordered.itemstock.product, size=item_ordered.itemstock.size, color=item_ordered.itemstock.color)
item_stock.quantity -= item_ordered.quantity
item_stock.save()
order.save()
payment.save()
#? email system
send_purchase_email(order)
if request.user.is_authenticated :
return redirect("my_orders") #? show finished orders
else :
return redirect("order_aproved", order.id)
else :
return redirect("checkout")


Last updated