Интеграция платежей Razorpay в django

Я пытаюсь интегрировать платежный шлюз razorpay для моего сайта электронной коммерции. Выскакивает следующее сообщение " Неверная сумма (должна быть передана в целых пайсах. Минимальное значение - 100 пайсов, т.е. 1 рупия)". Вот соответствующие файлы

views.py

checkout

def checkout(request):
    form = CheckoutForm(request.POST or None)
    cart_id = request.session.get("cart_id", None)
    if cart_id:
        cart_obj = Cart.objects.get(id=cart_id)
        if form.is_valid():
         form.instance.cart = cart_obj
         form.instance.subtotal = cart_obj.total
         form.instance.discount = 0
         form.instance.total = cart_obj.total
         form.instance.order_status = "Order Received"
         del request.session['cart_id']
         form.save()
         form=CheckoutForm()
         return render(request,"pay.html",{"form":form}) 
    else:
        cart_obj = None
    return render(request,"checkout.html",{'cart':cart_obj,'form':form})

заплатить

def pay(request):
  orders=form
  o_id=orders.id
  orderr=Order.objects.get(id=o_id)
  order_amount=orderr.total
  order_currency="INR"
  order=client.order.create(dict(amount=order_amount,currency=order_currency))
  context={
    'order_id':order['id'],
    'amount':order['amount'],
    'key_id':key_id
   }
  return render(request,"pay.html",context)

pay.html

<html>
    <head>
        <title>Pay</title>
    </head>
    <body>
        <button id="rzp-button1">Pay</button>
<script src="https://checkout.razorpay.com/v1/checkout.js"></script>
<script>
var options = {
    "key": "{{key_id}}", // key_id has been generated
    "amount":"{{amount}}", // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise
    "currency": "INR",
    "name": "Acme Corp",
    "description": "Test Transaction",
    "image": "https://example.com/your_logo",
    "order_id": "{{order_id}}",
     //This is a sample Order ID. Pass the `id` obtained in the response of Step 2
    "handler": function (response){
        alert(response.razorpay_payment_id);
        alert(response.razorpay_order_id);
        alert(response.razorpay_signature)
    },
    "theme": {
        "color": "#99cc33"
    }
};
var rzp1 = new Razorpay(options);
rzp1.on('payment.failed', function (response){
        alert(response.error.code);
        alert(response.error.description);
        alert(response.error.source);
        alert(response.error.step);
        alert(response.error.reason);
        alert(response.error.metadata.order_id);
        alert(response.error.metadata.payment_id);
});
document.getElementById('rzp-button1').onclick = function(e){
    
    rzp1.open();
    e.preventDefault();
}
</script>
    </body>
</html>

Прошу помочь... это последняя фаза моего проекта. Заранее спасибо!

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