Exemplo n.º 1
0
def instamojo_response(request):
    user = request.user
    payment_id = request.GET.get('payment_id')
    payment_request_id = request.GET.get('payment_request_id')

    api_key = settings.API_KEY
    auth_token = settings.AUTH_TOKEN

    api = Instamojo(api_key=api_key,auth_token=auth_token)
    response = api.payment_request_payment_status(payment_request_id,payment_id)
    if response['payment_request']['status'] == "Completed":
        paid_amount = response['payment_request']['payment']['amount']
        order = Order.objects.get(pk=payment_request_id)
        if order.amount == float(paid_amount) and order.order_id == payment_request_id:
            order.tracking_id = response['payment_request']['payment']['payment_id']
            order.save()
            cart_itmes = CourseEnrollment.objects.filter(order=order)
            for item in cart_itmes:
                setattr(item,'course_enrolled',True)
                item.save()
                send_mail('emails/checkout_success.html', {'user': item.owner_of_item(), 'item': item.course.course_name },
                          '*****@*****.**', [item.owner_of_item().email])
                send_mail('emails/notify_mentor.html',
                          {'user': item.owner_of_item(), 'mentor':item.course.course_user.user_first_name, 'item': item.course.course_name },
                          '*****@*****.**', [item.course.course_user.email, '*****@*****.**'])

            return render_to_response('portal/cart/checkout_result.html', {'success': 'success'})
        else:
            return render_to_response('portal/cart/checkout_result.html', {'failure': 'failure'})
    else:
        return render_to_response('portal/cart/checkout_result.html', {'failure': 'fail'})