Untitled
unknown
python
3 years ago
1.2 kB
4
Indexable
# settings.py RAZORPAY_ID = "rzp_test_XXXXXXXXXXXXXXXXXX" RAZORPAY_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" # views.py from django.conf import settings from django.shortcuts import render from .constants import PaymentStatus from .models import Order import razorpay def callback(request): # pass arguments as get params to this view razorpay_payment_id = request.GET.get('razorpay_payment_id') razorpay_order_id = request.GET.get('razorpay_order_id') razorpay_signature = request.GET.get('razorpay_signature') order_id = request.GET.get('order_id') order = Order.objects.get(id=order_id) client = razorpay.Client(auth=(settings.RAZORPAY_ID, settings.RAZORPAY_SECRET)) try: params_dict = { 'razorpay_order_id': razorpay_order_id, 'razorpay_payment_id': razorpay_payment_id, 'razorpay_signature': razorpay_signature } client.utility.verify_payment_signature(params_dict) order.status = PaymentStatus.SUCCESS order.save() send_email() return render(request, 'payment/success.html') except: return render(request, 'payment/failure.html')
Editor is loading...