Razorpay говорит, что продавец не может принимать платежи в (режиме Live)
Я пытаюсь реализовать razor pay в live режиме на Django Project, при нажатии на кнопку pay он показывает доступные варианты оплаты, но когда я выбираю вариант и продолжаю, он говорит этот продавец не может принимать платежи
.
razorpay_client = razorpay.Client(auth=(settings.RAZOR_KEY_ID,settings.RAZOR_KEY_SECRET))[This is my output image][1]
def cart(request):
l = len(Itemcart.objects.filter(uname=request.session['username'][0]))
if request.session.get('username') and l >=1:
CurrentUser = ""
try:
CurrentUser = request.session['username'][0]
except:
pass
CheckOutPrice = 0
try:
for each in Itemcart.objects.all():
CheckOutPrice = CheckOutPrice + int(each.icprice)
except:
print("Error! no cart data found for current user")
currency = 'INR'
callback_url = 'paymenthandler/'
Totalamount = int(CheckOutPrice * 100)
razorpay_order = razorpay_client.order.create(dict(amount=Totalamount,currency=currency,payment_capture='0'))
razorpay_order_id = razorpay_order['id']
context = {}
context['razorpay_order_id'] = razorpay_order_id
context['razorpay_merchant_key'] = settings.RAZOR_KEY_ID
context['amount'] = Totalamount
context['callback_url'] = callback_url
return render(request,'cart.html',context=context)
return render(request,'cart.html')
def paymenthandler(request):
print("123")
if request.method == "POST":
try:
# get the required parameters from post request.
payment_id = request.POST.get('razorpay_payment_id', '')
razorpay_order_id = request.POST.get('razorpay_order_id', '')
signature = request.POST.get('razorpay_signature', '')
params_dict = {
'razorpay_order_id': razorpay_order_id,
'razorpay_payment_id': payment_id,
'razorpay_signature': signature
}
# verify the payment signature.
result = razorpay_client.utility.verify_payment_signature(
params_dict)
if result is None:
amount = Totalamount
try:
# capture the payemt
razorpay_client.payment.capture(payment_id, amount)
# render success page on successful caputre of payment
return render(request, 'paymentsuccess.html')
except:
# if there is an error while capturing payment.
return render(request, 'paymentfail.html')
else:
# if signature verification fails.
return render(request, 'paymentfail.html')
except:
# if we don't find the required parameters in POST data
return HttpResponseBadRequest()
else:
# if other than POST request is made.
return HttpResponseBadRequest()
Код моего скрипта в html
<button type="button" id="pay-btn">Pay</button> #button
<script src="https://checkout.razorpay.com/v1/checkout.js">
</script>
<script>
var options = {
// Enter the Key ID generated from the Dashboard
key: "{{ razorpay_merchant_key }}",
// Amount is in currency subunits.
// Default currency is INR. Hence,
// 50000 refers to 50000 paise
amount: "{{ amount }}",
currency: "INR",
// Your/store name.
name: "{{ CurrentUser }}",
// Pass the `id` obtained in the response of Step 1
order_id: "{{ razorpay_order_id }}",
callback_url: "{{ callback_url }}",
};
// initialise razorpay with the options.
var rzp1 = new Razorpay(options);
// add event listener to the payment button.
document.getElementById("pay-btn").onclick = function (e) {
rzp1.open();
e.preventDefault();
};
</script>
правильно ли я делаю, есть ли альтернативный способ, я также пытался использовать кнопки razorpay, но он не может принимать динамические платежи
ошибка ссылки на изображение : https://imgur.com/a/j6UsW3O