Интеграция платежей 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>
Прошу помочь... это последняя фаза моего проекта. Заранее спасибо!