Пример #1
0
def processpayment(request):
    name=request.GET['name']
    roll=request.GET['roll']
    Class=request.GET['class']
    print(Class)
    father=request.GET['father']
    ammount=request.GET['ammount']
    student=Student.objects.get(rollNo=roll)
    transaction_id=datetime.datetime.now().timestamp()
    studentfee=StudentFees.objects.create(name=name,transaction_id=transaction_id,payment=ammount,roll=roll)
    studentfee.save()
    print(student.Class)
    if not student.name==name:
        messages.error(request,'Student name does not match')
        return redirect('/payment')
    if not student.father==father:
        messages.error(request,'Student father name does not match')
        return redirect('/payment')
    param_dict={
			    
				'MID': 'toaldV34834751882298',
                'ORDER_ID': str(transaction_id),
                'TXN_AMOUNT': str(ammount),
                'CUST_ID': roll,
                'INDUSTRY_TYPE_ID': 'Retail',
                'WEBSITE': 'WEBSTAGING',
                'CHANNEL_ID': 'WEB',
                'CALLBACK_URL':'http://127.0.0.1:8000/handlerequest/',
	}
    param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(param_dict, MERCHANT_KEY)
    return render(request,'mySchool/paytm.html',{'param_dict':param_dict})		
Пример #2
0
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]

    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01':
            print('order successful')
            order = Orders.objects.get(id=response_dict['ORDERID'])

            th1 = threading.Thread(
                target=sendemail, args=[response_dict['ORDERID'], order.email])
            th1.start()
        else:
            print('order was not successful because' +
                  response_dict['RESPMSG'])
            order = Orders.objects.filter(id=response_dict['ORDERID'])
            order.delete()
            update = OrderUpdate.objects.filter(id=response_dict['ORDERID'])
            update.delete()
    return render(request, 'store/paymentstatus.html',
                  {'response': response_dict})
Пример #3
0
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    pk = None
    f = None
    t = None
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]
    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        print(response_dict['RESPCODE'])
        if response_dict['RESPCODE'] == '01':
            print('order successful')
            i = response_dict['ORDERID']
            print(i)
            t = i[6:]
            Fee.objects.filter(orderid=t).update(paymentstatus='success')

        else:
            print('order was not successful because' +
                  response_dict['RESPMSG'])
        i = response_dict['ORDERID']
        t = i[6:]
        f = Fee.objects.get(orderid=t)
        print(f.pk)
    return render(request, 'fee/paymentstatus.html', {
        'response_dict': response_dict,
        'f': f
    })
Пример #4
0
def processOrder(request):
	transaction_id = datetime.datetime.now().timestamp()
	if request.user.is_authenticated:
		customer = request.user
		email=request.POST.get('email')
		order, created = Order.objects.get_or_create(customer=customer, complete=False)
		total = order.get_cart_items
		order.transaction_id = transaction_id
		order.complete=True
		order.save()
		ShippingAddress.objects.create(
			customer=customer,
			order=order,
			address=request.POST.get('address'),
			city=request.POST.get('city'),
			state=request.POST.get('state'),
			zipcode=request.POST.get('zipcode'),
			)
		param_dict={
			    
				'MID': 'toaldV34834751882298',
                'ORDER_ID': str(transaction_id),
                'TXN_AMOUNT': str(total),
                'CUST_ID': email,
                'INDUSTRY_TYPE_ID': 'Retail',
                'WEBSITE': 'WEBSTAGING',
                'CHANNEL_ID': 'WEB',
                'CALLBACK_URL':'http://127.0.0.1:8000/handlerequest/',
		}
		param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(param_dict, MERCHANT_KEY)
		return render(request,'myapp/paytm.html',{'param_dict':param_dict})		
	else:
		print('User is not logged in')

	return redirect('')
Пример #5
0
def handlerequest(request, transaction_id):
    # paytm will send you post request here
    try:
        sub_obj = Subscription.objects.get(transaction_id=transaction_id)
    except Subscription.DoesNotExist:
        print("Invalid Subscription ID")
        return redirect('/adv')

    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]

    screen = sub_obj.screen
    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01' and screen.ad_available > 0:
            ad = sub_obj.ad
            disAd = DisplaysAd(screen=screen, ad=ad)
            disAd.save()
            sub_obj.transaction_status = "Transaction Successful"
            sub_obj.save()
            screen.ad_available = screen.ad_available - 1
            screen.save()
            print('order successful')
        else:
            print('order was not successful because' +
                  response_dict['RESPMSG'])
    return render(request, 'Advertiser/paymentstatus.html',
                  {'response': response_dict})
Пример #6
0
def checkout(request, course_slug):
    course = Course.objects.get(slug=course_slug)
    context = {'course': course}
    if request.method == 'POST':
        user = request.user

        # amount = request.POST.get('amount')
        amount = float(course.price)

        orderid = random.randrange(11111, 99999)
        param_dict = {
            'MID':
            'XouRsh60629205732669',
            'ORDER_ID':
            str(orderid),
            'TXN_AMOUNT':
            str(amount),
            'CUST_ID':
            user.email,
            'INDUSTRY_TYPE_ID':
            'Retail',
            'WEBSITE':
            'WEBSTAGING',
            'CHANNEL_ID':
            'WEB',
            'CALLBACK_URL':
            f'http://127.0.0.1:8000/course/handlerequest/{course_slug}/{user.username}',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'paytm/paytm.html', {'param_dict': param_dict})

    # return render(request, 'paytm/checkout.html')

    return render(request, 'main/checkout.html', context)
Пример #7
0
def buy(request):
    if request.method == "POST":
        items_json = request.POST.get('itemsJson', '')
        name = request.POST.get('name', '')
        amount = request.POST.get('amount', '')
        email = request.POST.get('email', '')
        address = request.POST.get('address1', '') + " " + request.POST.get(
            'address2', '')
        city = request.POST.get('city', '')
        state = request.POST.get('state', '')
        zip_code = request.POST.get('zip_code', '')
        phone = request.POST.get('phone', '')
        if len(zip_code) < 6:
            messages.error(request, "Please enter correct zip code")
            return redirect('Checkout')
        if len(phone) < 10:
            messages.error(request, "Please enter correct phone number")
            return redirect('Checkout')

        order = Orders(orders_json=items_json,
                       name=name,
                       email=email,
                       address=address,
                       city=city,
                       state=state,
                       zip_code=zip_code,
                       phone=phone,
                       amount=amount)
        order.save()
        update = OrderUpdate(order_id=order.order_id,
                             update_desc="The order has been placed")
        update.save()
        thank = True
        id = order.order_id
        # return render(request, 'shop/checkout.html', {'thank':thank, 'id': id})
        # Request paytm to transfer the amount to your account after payment by user
        param_dict = {
            'MID': 'Ljlxjc16845781456724',
            'ORDER_ID': str(order.order_id),
            'TXN_AMOUNT': str(amount),
            'CUST_ID': email,
            'INDUSTRY_TYPE_ID': 'Retail',
            'WEBSITE': 'WEBSTAGING',
            'CHANNEL_ID': 'WEB',
            'CALLBACK_URL': 'http://127.0.0.1:8000/shop/handlerequest2/',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'shop/paytm.html', {'param_dict': param_dict})

    return render(request, 'shop/buynow.html')
Пример #8
0
def handlerequest(request):
	form=request.POST
	response_dict = {}
	for i in form.keys():
		response_dict[i]=form[i]
		if i=='CHECKSUMHASH':
			checksum = form[i]
	verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
	if verify:
		if response_dict['RESPCODE']=='01':
			print('successfull')
		else:
			print('Unsuccessfull')
		return render(request,'myapp/paymentstatus.html', {'response': response_dict})
Пример #9
0
def paymentreq(request, order_id):
    msg = Rent.objects.get(id=order_id)
    #passing request to paytm
    param_dict = {
        'MID': 'WorldP64425807474247',
        'ORDER_ID': msg.order_id,
        'TXN_AMOUNT': str(msg.amount),
        'CUST_ID': str(request.user),
        'INDUSTRY_TYPE_ID': 'Retail',
        'WEBSITE': 'WEBSTAGING',
        'CHANNEL_ID': 'WEB',
        'CALLBACK_URL': 'http://18.216.172.90/handlerequest/',
    }
    param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
        param_dict, MERCHANT_KEY)
    return render(request, 'paytm.html', {'param_dict': param_dict})
Пример #10
0
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]
    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01':
            print('order success full')
        else:
            #order_success=messages.error(request,f'order was not successful because {response_dict[RESPMSG]}')
            print('order was not successful because' + response_dict['RESPMSG'])
    return render(request, 'mySchool/paymentstatus.html', {'response': response_dict})
Пример #11
0
def checkout(request):
    if request.method == "POST":
        items_json = request.POST.get('itemsJson', '')
        name = request.POST.get('name', '')
        amount = request.POST.get('amount', '')
        email = request.POST.get('email', '')
        address = request.POST.get('address1', '') + " " + request.POST.get(
            'address2', '')
        city = request.POST.get('city', '')
        state = request.POST.get('state', '')
        zip_code = request.POST.get('zip_code', '')
        phone = request.POST.get('phone', '')

        order = Orders(items_json=items_json,
                       name=name,
                       email=email,
                       address=address,
                       city=city,
                       state=state,
                       zip_code=zip_code,
                       phone=phone,
                       amount=amount)
        order.save()
        update = OrderUpdate(order_id=order.order_id,
                             update_desc="The order has been placed")
        update.save()

        thank = True
        id = order.order_id

        #request paytm to transfer the amount to your account after payment by user
        param_dict = {
            'MID': '',
            'ORDER_ID': str(order.order_id),
            'TXN_AMOUNT': amount,
            'CUST_ID': email,
            'INDUSTRY_TYPE_ID': 'Retail',
            'WEBSITE': 'WEBSTAGING',
            'CHANNEL_ID': 'WEB',
            'CALLBACK_URL': 'http://127.0.0.1:8080/handlerequest/',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'paytm.html', {'param_dict': param_dict})

    return render(request, 'checkout.html')
Пример #12
0
def handlerequest(request, course_slug, username):
    user = Account.objects.get(username=username)
    for _ in range(10):
        print("hello")
        print(user.email)
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]
    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01':
            course = Course.objects.get(slug=course_slug)
            # user=request.user
            name = 'name'
            email = user.email
            mobile = user.phone_number
            amount = float(course.price)
            order = Transaction.objects.create(user=user,
                                               item_json=course.name,
                                               course=course,
                                               name=name,
                                               email=email,
                                               mobile=mobile,
                                               amount=float(amount))
            order.save()
            course.member.add(user)
            course.save()
            messages.success(request, "Course is successfully purchase")
            return redirect("purchase_course")
            # print('order successful')
            # print('order successful')
            # print('order successful')
            # print('order successful')
            # print('order successful')
            # print('order successful')
            # print('order successful')

        else:
            messages.error(request, "Something Went Wrong")
            return redirect("checkout", course_slug)
            # print('Something went wrong' + response_dict['RESPMSG'])
    return render(request, 'paytm/paytm_payment_status.html',
                  {'response_dict': response_dict})
Пример #13
0
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]

    verfiy = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verfiy:
        if response_dict['RESPCODE'] == '01':
            print('ORDER SUCCESSFUL')
        else:
            print("order unsuccessful because" + response_dict['RESPMSG'])
    return render(request, 'E_com/paymentstatus.html',
                  {'response': response_dict})
Пример #14
0
def fee(request):
    student = Student.objects.get(user=request.user)
    c = ClassInfo.objects.get(name=student.class_info.name)
    admissionfees = 0
    monthlyfees = 0
    extrafees = 0
    if Fee.objects.filter(student=student,
                          paymentstatus="successful").count() == 0:
        admissionfees = c.admissionfees
        monthlyfees = c.monthlyfees
        extrafees = c.ExtraFees
    else:
        admissionfees = 0
        monthlyfees = c.monthlyfees
        extrafees = c.ExtraFees
    totalfees = float(monthlyfees) + float(admissionfees) + float(extrafees)

    id = None
    if request.method == "POST":
        i = Fee.objects.create(student=student, amount=totalfees)

        # return render(request, 'shop/checkout.html', {'thank':thank, 'id': id})
        # Request paytm to transfer the amount to your account after payment by user
        param_dict = {
            'MID': 'SGijGB62559210222772',
            'ORDER_ID': "school" + str(i.orderid),
            'TXN_AMOUNT': str(i.amount),
            'CUST_ID': request.user.email,
            'INDUSTRY_TYPE_ID': 'Retail',
            'WEBSITE': 'WEBSTAGING',
            'CHANNEL_ID': 'WEB',
            'CALLBACK_URL': 'http://127.0.0.1:8000/fee/handlerequest/',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'fee/paytm.html', {'param_dict': param_dict})
    return render(
        request, 'fee/payment.html', {
            'student': student,
            'totalfees': totalfees,
            'admissionfees': admissionfees,
            'monthlyfees': monthlyfees,
            'extrafees': extrafees
        })
Пример #15
0
def checkout(request):
    if request.method == "POST":
        items_json = request.POST.get('itemsJson', '')
        name = request.POST.get('name', '')
        amount = request.POST.get('amount', '')
        email = request.POST.get('email', '')
        address = request.POST.get('address1', '') + " " + request.POST.get(
            'address2', '')
        city = request.POST.get('city', '')
        state = request.POST.get('state', '')
        zip_code = request.POST.get('zip_code', '')
        phone = request.POST.get('phone', '')
        order = Orders(items_json=items_json,
                       name=name,
                       email=email,
                       address=address,
                       city=city,
                       state=state,
                       zip_code=zip_code,
                       phone=phone,
                       amount=amount)
        order.save()

        id = order.id
        update = OrderUpdate(order_id=id,
                             update_desc="The Order has been Placed")
        update.save()
        param_dict = {
            'MID': 'xxxxxxxxxxxxxxxxxx',
            'ORDER_ID': str(order.id),
            'TXN_AMOUNT': str(amount),
            'CUST_ID': str(email),
            'MOBILE_NO': str(phone),
            'EMAIL': str(email),
            'INDUSTRY_TYPE_ID': 'Retail',
            'WEBSITE': 'WEBSTAGING',
            'CHANNEL_ID': 'WEB',
            'CALLBACK_URL': 'http://127.0.0.1:8000/handlerequest/',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'store/paytm.html', {'param_dict': param_dict})

    return render(request, 'store/checkout.html')
Пример #16
0
def handlerequest(request):
    # paytm will send you post request here
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]

    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        print('Order successful')
    else:
        messages.error(
            request,
            'Order was not successful because' + response_dict['RESPMSG'])
        return redirect('Checkout')
    return render(request, 'shop/paymentstatus.html',
                  {'response': response_dict})
Пример #17
0
    def post(self, request):
        form = request.POST
        response_dict = {}
        for i in form.keys():
            response_dict[i] = form[i]
            if i == 'CHECKSUMHASH':
                checksum = form[i]

        verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY,
                                          checksum)
        if verify:
            if response_dict['RESPCODE'] == '01':

                print('order successful')
            else:
                print('order was not successful because' +
                      response_dict['RESPMSG'])

        return render(request, 'app/paymentstatus.html',
                      {'response': response_dict})
Пример #18
0
 def post(self, request):
     form = Checkoutform(request.POST or None)
     try:
         order_qs = Order.objects.get(user=request.user, ordered=False)
         if form.is_valid():
             Address = form.cleaned_data.get('Address')
             apartment_add = form.cleaned_data.get('apartment_add')
             country = form.cleaned_data.get('country')
             zip = form.cleaned_data.get('zip')
             #Add functionality to these fields
             #same_bill_add=form.cleaned_data.get['same_bill_add']
             #save_info=form.cleaned_data.get['save_info']
             #payment_option=form.cleaned_data.get['payment_option']
             billingaddress = BillingAddress(user=request.user,
                                             Address=Address,
                                             apartment_add=apartment_add,
                                             country=country,
                                             zip=zip)
             billingaddress.save()
             order_qs.billing = billingaddress
             order_qs.ordered = True
             order_qs.save()
             param_dict = {
                 'MID': 'MuoTsy79388780301387',
                 'ORDER_ID': str(order_qs.id + 100),
                 'TXN_AMOUNT': str(order_qs.total()),
                 'CUST_ID': request.user.username,
                 'INDUSTRY_TYPE_ID': 'Retail',
                 'WEBSITE': 'WEBSTAGING',
                 'CHANNEL_ID': 'WEB',
                 'CALLBACK_URL': 'http://127.0.0.1:8000/handlerequest/',
             }
             param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
                 param_dict, MERCHANT_KEY)
             return render(request, 'app/paytm.html',
                           {'param_dict': param_dict})
         messages.info(request, "Failed checkout")
         return redirect("app:checkout")
     except ObjectDoesNotExist:
         messages.info(request, "You do not have any active order")
         return redirect("app:order")
Пример #19
0
def handlerequest(request):
    #paytm post req
    form = request.POST
    response_dict = {}
    for i in form.keys():
        response_dict[i] = form[i]
        if i == 'CHECKSUMHASH':
            checksum = form[i]
    verify = Checksum.verify_checksum(response_dict, MERCHANT_KEY, checksum)
    if verify:
        if response_dict['RESPCODE'] == '01':
            print('Payment successfull')
            msg = Rent.objects.get(order_id=response_dict['ORDERID'])
            msg.paid = True
            msg.paid_on = response_dict['TXNDATE']
            msg.save()
        else:
            print('Payment was not successfull because' +
                  response_dict['RESPMSG'])

    return render(request, 'paymentstatus.html', {'resp': response_dict})
Пример #20
0
def publish(request, ad_id, screen_id):
    ad = None

    screen = None

    for ads in AdMedia.objects.all():
        print(ads.id)
        if ads.id == int(ad_id):
            ad = ads
            break
    for screens in Screens.objects.all():
        if screens.auto_id == int(screen_id):
            screen = screens
            break
    print(1, screen)
    print(2, ad)
    if not screen or not ad or ad.username != request.user:
        # Screen or Ad not found.
        # Advertisement does not belong to the current user.
        # Or Screen is occupied fully.
        return redirect('/adv/publish/' + str(ad_id) +
                        '?info=Some Error Occurred&msgtype=error')
    if screen.ad_available <= 0:
        return redirect('/adv/publish/' + str(ad_id) +
                        '?info=Screen not available&msgtype=warning')

    for x in range(10):
        # print 10 random values between
        # 1 and 100 which are multiple of 5
        ra = ''.join([
            random.choice(string.ascii_letters + string.digits)
            for n in range(15)
        ])

    print(screen_id)
    cost = get_cost_inner(screen.auto_id)
    sub_obj = Subscription(gateway_id=str(ra), screen=screen, ad=ad, cost=cost)
    sub_obj.save()
    print('subcription_id', sub_obj.transaction_id)
    param_dict = {
        'MID':
        'BiDzIl44175596745392',
        'ORDER_ID':
        str(ra),
        'TXN_AMOUNT':
        str(cost),
        'CUST_ID':
        str(screen_id),
        'INDUSTRY_TYPE_ID':
        'Retail',
        'WEBSITE':
        'WEBSTAGING',
        'CHANNEL_ID':
        'WEB',
        'CALLBACK_URL':
        'http://127.0.0.1:8000/adv/handlerequest/' +
        str(sub_obj.transaction_id),
    }

    param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
        param_dict, MERCHANT_KEY)

    return render(request, 'Advertiser/paytm.html', {'param_dict': param_dict})