23 lines
623 B
Python
23 lines
623 B
Python
from django.http.response import HttpResponse
|
|
from django.shortcuts import get_object_or_404
|
|
from django.views.decorators.csrf import csrf_exempt
|
|
|
|
from shop.models import Order
|
|
from shop.utils import validate_payment_for_order, pay_order
|
|
|
|
|
|
@csrf_exempt
|
|
def webhook(request, uuid):
|
|
order = get_object_or_404(Order, uuid=uuid)
|
|
|
|
try:
|
|
amount_paid = validate_payment_for_order(request, order)
|
|
pay_order(order, amount_paid)
|
|
|
|
return HttpResponse(status=200)
|
|
except Exception as e:
|
|
order.status = Order.Statuses.STATUS_ERROR
|
|
order.save()
|
|
|
|
return HttpResponse(status=409)
|