Example #1
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
        # 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': 'Your-Merchant-Id-Here',
            '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/handlerequest/',

        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)
        return render(request, 'shop/paytm.html', {'param_dict': param_dict})

    return render(request, 'shop/checkout.html')
Example #2
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()
        thank = True
        id = order.order_id
        #return render(request, 'shop/Checkout.html', {'thank': thank, 'id': id})
        param_dict = {

            'MID': 'qyGHOA49166805835926',
            '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/handlerequest/',

        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(param_dict, MERCHANT_KEY)
        return render(request, 'shop/paytm.html', {'param_dict': param_dict})



    return render(request, 'shop/Checkout.html')
def payment(request, pk):
    if request.method == "POST":
        c_obj = HarassmentComplaint.objects.get(pk=pk)
        c_obj.c_amt = request.POST.get('price', '')
        c_obj.save()

        temp = str(c_obj.hc_id)
        o_id = str(uuid.uuid4())
        if c_obj.p_status == 1:
            o_id = str(c_obj.new_cid)

        param_dict = {
            'MID':
            'DIY12386817555501617',
            'ORDER_ID':
            o_id,
            'TXN_AMOUNT':
            str(c_obj.c_amt),
            'CUST_ID':
            c_obj.o_email,
            'INDUSTRY_TYPE_ID':
            'Retail',
            'WEBSITE':
            'WEBSTAGING',
            'CHANNEL_ID':
            'WEB',
            'CALLBACK_URL':
            'http://127.0.0.1:8000/harassment/' + temp + '/' +
            'handlerequest/',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)

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

    return render(request, 'divorce/payment.html')
Example #4
0
def checkout(request):
    if request.user.is_anonymous:
        params = {'msg' : "You need to Login First"}
        return render(request,'index.html', params)
    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','')
        contact = request.POST.get('contact','')
        order = Orders(items_json=items_json, name=name, email=email, address=address, city=city, state=state, zip_code=zip_code, contact=contact, 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,'thankyou.html', {'thank' : thank, 'id' : id})
        # Request Paytm to transfer the amount to your account after payment by user
        param_dict = {
            
            'MID':'please_enter_your_merchant_id',
            '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/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')
Example #5
0
def loadPayment(request):
    # orderList = Order.objects.filter(userId=request.session['login_Id'], status="addtocart").order_by('id')
    # totalOrderAmount = orderList.aggregate(Sum('totalPrice'))
    # allOrder = []
    # for i in orderList:
    #     allOrder.append(i.id)
    # print(">>>>>>>>>>>>>>", allOrder)
    # addPayment = Payment.objects.filter(payment=totalOrderAmount['totalPrice__sum'], paymentstatus='pending',
    #                                     orders=str(allOrder)[1:len(str(allOrder)) - 1],
    #                                     userId_id=request.session['login_Id'])
    # if len(addPayment) == 0:
    #     addPayment = Payment(payment=totalOrderAmount['totalPrice__sum'], paymentstatus="pending",
    #                          userId_id=request.session['login_Id'], orders=str(allOrder)[1:len(str(allOrder)) - 1])
    #     addPayment.save()
    #     orderid = addPayment.id
    # else:
    #     orderid = addPayment[0].id

    orderList = Order.objects.get(userId=request.session['login_Id'], orderstatus="addtocart")

    param_dict = {

        'MID': 'nHXgex32367017368258',
        'ORDER_ID': str(orderList.id),
        'TXN_AMOUNT': str(orderList.totalPrice),
        'CUST_ID': request.session['login_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)
    print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>", param_dict)
    return render(request, 'user/paytm.html', {'param_dict': param_dict})
def order_create(request, pk):
    cart = Cart(request)
    a = 0

    oo = choice(ascii_lowercase)
    oo = oo.upper()
    print(oo.islower())
    print(choice(ascii_lowercase))

    print(random.randint(100, 999))
    print("hiiiii")
    for item in cart:
        a = a + 1
    if a == 0:
        item = 0
    order = 0
    if a != 0:

        b = item
        ids = b['id']
        g = get_object_or_404(Shop, pk=int(ids))
        shopn = g.name
        print(g.name)

    if a != 0:
        a = sum(Decimal(item['price']) * 1 for item in cart.cart.values())
        b = sum(Decimal(item['b_price']) * 1 for item in cart.cart.values())
        nos = 1
        tshopc = nos * a
        s = (b - a) * nos

        if b == 0:
            p = 0

        else:
            p = round(Decimal(s / b * 100), 2)

        if request.method == 'POST':
            form = OrderCreateForm(request.POST)

            #      off=sum(Decimal(item['price']) * item['quantity'] for item in cart) - (
            #        sum(Decimal(item['price']) * item['quantity'] for item in cart)) / 10
            #     poff=cart.get_saved()+10
            #                if form.is_valid():
            name = request.POST.get("name")
            pno = request.POST.get("pno")
            email = request.POST.get("addr")
            date = request.POST.get("date")
            time = request.POST.get("time")
            print(pno)
            print("pno")
            ordr = Order()
            ordr.addr = email
            ordr.user = request.user
            ordr.name = name
            ordr.phone_no = pno
            ordr.date = date
            ordr.timing = time
            ordr.num = nos
            print(pno)
            print(ordr.date)
            print(ordr.timing)
            print(ordr.addr)
            print(ordr.phone_no)

            #order = form.save()
            ordr.user = request.user
            ordr.total_cost = sum(
                Decimal(item['price']) * item['quantity'] for item in cart)

            #       z=(sum(Decimal(item['price']) * item['quantity'] for item in cart))/10   -z below
            ordr.total_a_cost = sum(
                Decimal(item['price']) * item['quantity'] for item in cart)

            ordr.shop = g
            print(g)
            ordr.save()
            print("abhit above")

            ordr.o_id = order_id(ordr)

            for item in cart:
                OrderItem.objects.create(order=ordr,
                                         product=item['product'],
                                         price=item['price'],
                                         quantity=item['quantity'],
                                         total_i_price=item['price'] *
                                         item['quantity'])

            ordr.save()
            cart.clear()

            print(ordr.name)
            param_dict = {
                'MID': 'oLhXxv07209903445994',
                'ORDER_ID': str(ordr.o_id),
                'TXN_AMOUNT': str(ordr.total_a_cost),
                'CUST_ID': request.user.email,
                'INDUSTRY_TYPE_ID': 'Retail',
                'WEBSITE': 'WEBSTAGING',
                'CHANNEL_ID': 'WEB',
                'CALLBACK_URL': 'http://127.0.0.1:8000/orders/handlerequest/'
            }
            param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
                param_dict, MERCHANT_KEY)

            #request paytm to tranfer teh amount to your account after payment by user
            #return render(request, 'orders/order/created.html', {'order': ordr})
            return render(request, 'orders/order/paytm.html',
                          {'param_dict': param_dict})

        else:
            form = OrderCreateForm()

        return render(request, 'orders/order/create.html', {
            'form': form,
            'shop': g,
            'shopc': tshopc,
            'no': nos
        })

    else:
        return redirect('/service/detail/' + pk + '/')
Example #7
0
def checkout(request):
    if (request.method == "POST"):
        global orderObj
        itemsjson = request.POST.get('itemsjson', 'default')
        fname = request.POST.get('fname', 'default')
        lname = request.POST.get('lname', 'default')
        branch = request.POST.get('branch', 'default')
        reg_id = request.POST.get('reg_id', 'default')
        mobno = request.POST.get('mobno', 'default')
        email = request.POST.get('email', 'default')
        address = request.POST.get('address1',
                                   'default') + " " + request.POST.get(
                                       'address2', 'default')
        city = request.POST.get('city', 'default')
        zip_code = request.POST.get('zip_code', 'default')
        state = request.POST.get('state', 'default')
        comment = request.POST.get('comment', 'default')
        items_json = json.loads(itemsjson)
        # print("item json is", items_json, "and its type is ", type(items_json))
        totalprice = 0
        for item in items_json.values():
            totalprice += int(item[2]) * int(item[3])

        # print("total price is ", totalprice)
        order_id = getOrderId()
        orderObj = Orders(order_id=order_id,
                          items_json=itemsjson,
                          fname=fname,
                          lname=lname,
                          branch=branch,
                          reg_id=reg_id,
                          mobno=mobno,
                          email=email,
                          address=address,
                          city=city,
                          zip_code=zip_code,
                          state=state,
                          comment=comment,
                          amount=totalprice)
        order_id = "WHT-" + str(order_id)
        print(order_id)

        # Request paytm to transfer the amount to your account after payment by
        # change callback url at time of production ----------------------------------------- IMPORTANT
        param_dict = {
            'MID': MID,
            'ORDER_ID': str(order_id),
            'TXN_AMOUNT': str(totalprice),
            '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, 'shop/paytm.html', {'param_dict': param_dict})
    else:
        user = User.objects.get(username=request.user)
        customer = Customer.objects.get(user=user)
        cart = Cart.objects.get(customer=customer)
        params = {}
        params['cart'] = cart.items_json
        if cart.items_json == '' or cart.items_json == '{}':
            params['isCartEmpty'] = True
    return render(request, 'shop/checkout.html', params)
Example #8
0
def checkout(request):
    """Place the order in checkout page"""
    if request.method == "POST":
        user_id = request.POST.get('user_id')
        itemsJson = request.POST.get('itemsJson')
        cartItem = request.POST.get('cartItem')
        amount = request.POST.get('amount')
        name = request.POST.get('name')
        email = request.POST.get('email')
        address = request.POST.get('address')
        country = request.POST.get('country')
        state = request.POST.get('state')
        city = request.POST.get('city')
        zip_code = request.POST.get('zip_code')
        phone = request.POST.get('phone')

        if (name and email):
            order = Order(user_id=user_id,
                          items_json=itemsJson,
                          cartItem=cartItem,
                          amount=amount,
                          name=name,
                          email=email,
                          address=address,
                          country=country,
                          state=state,
                          city=city,
                          zip_code=zip_code,
                          phone=phone)
            order.save()

        id = request.POST.get('userId')

        uprofile = UserProfile.objects.filter(user_id=id)

        if uprofile:
            profile = uprofile[0]

            itemsJson = request.POST.get('itemsJson1')
            cartItem = request.POST.get('cartItem1')
            amount = request.POST.get('amount1')

            order = Order(user_id=id,
                          items_json=itemsJson,
                          cartItem=cartItem,
                          amount=amount,
                          name=profile.name,
                          email=profile.email,
                          address=profile.address,
                          country=profile.country,
                          state=profile.state,
                          city=profile.city,
                          zip_code=profile.zip_code,
                          phone=profile.phone)
            order.save()

        update = OrderUpdate(OrderId=order.id,
                             update_desc="The order has been placed")
        update.save()

        order_id = order.id
        if uprofile:
            profile = uprofile[0]
            cust_email = profile.email
        else:
            cust_email = email

        # paytm request for accept order payment

        param_dict = {
            'MID': 'Your Merchant ID',
            'ORDER_ID': str(order_id),
            'TXN_AMOUNT': str(amount[1:]),
            'CUST_ID': cust_email,
            'INDUSTRY_TYPE_ID': 'Retail',
            'WEBSITE': 'WEBSTAGING',
            'CHANNEL_ID': 'WEB',
            'CALLBACK_URL': f'http://127.0.0.1:8000/shop/handlerequest/{id}',
        }
        param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
            param_dict, MERCHANT_KEY)

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

    return render(request, 'shop/checkout.html', {'cate': cates})
Example #9
0
def Checkout(request):
    if request.user.is_authenticated:

        totalprice = 0
        cartitems = request.session['prodid']

        if request.method == "POST":
            name = request.POST['checkoutname']
            address1 = request.POST['address1']
            address2 = request.POST['address2']
            city = request.POST['city']
            state = request.POST['state']
            zip_code = request.POST['zip_code']
            price = request.session['totalprice']
            prods_quant = request.session['prodid']
            orderid = uuid.uuid4()
            print("+++++++++++++++++++++++++++++++++++++++++++++++++++++++")
            print(orderid)

            checkout = CheckoutOrder(orderid=orderid,
                                     name=name,
                                     email=request.user.email,
                                     address1=address1,
                                     address2=address2,
                                     city=city,
                                     state=state,
                                     zip_code=zip_code,
                                     total=price,
                                     products=prods_quant)

            checkout.save()
            ordertracker = OrderTracker(orderid=orderid,
                                        status="Under Processing")
            ordertracker.save()

            product_ids = []
            for i, j in cartitems.items():
                product_ids.append(i)
            allprods = Product.objects.filter(product_id__in=product_ids)
            for i in allprods:
                totalprice += i.prod_price * cartitems[i.product_id]
            request.session['totalprice'] = totalprice

            param_dict = {
                'MID': 'WorldP64425807474247',
                'ORDER_ID': str(orderid),
                'TXN_AMOUNT': str(totalprice),
                'CUST_ID': request.user.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, 'paytm.html', {'param_dict': param_dict})

            # return redirect('/checkout/')

        cartitems = request.session['prodid']
        print(len(cartitems.keys()))
        if len(cartitems.keys()) > 0:
            totalprice = 0
            product_ids = []
            for i, j in cartitems.items():
                product_ids.append(i)
            allprods = Product.objects.filter(product_id__in=product_ids)
            for i in allprods:
                totalprice += i.prod_price * cartitems[i.product_id]
            request.session['totalprice'] = totalprice

            return render(
                request, 'Checkout.html', {
                    "cartitems": allprods,
                    "quantityid": cartitems,
                    "totalprice": totalprice
                })

        else:
            print(request.session['prodid'])
            return HttpResponse("No items in the session cart")

    else:
        return HttpResponse("please Login First before checkout")
Example #10
0
def userDashboard(request):

    if str(request.user) != "*****@*****.**":
        if request.method == "POST":
            print("------Got POST request by USER-----")
            clearTrash(str(request.user))
            option = request.POST["printOption"]
            files = request.FILES.getlist("files")
            status = checkExtention(files)
            check_encrption = isEncrptedPdf(files)
            if option == "0":
                messages.error(request, "Choose Print option")
                return redirect("action:userDashboard")

            elif status != "Files Verified":
                messages.error(request, status)
                return redirect("action:userDashboard")

            elif check_encrption != "Files are not encrypted":
                messages.error(request, check_encrption)
                return redirect("action:userDashboard")

            else:
                request.session["current_bill"] = 0
                request.session["current_files"] = "Null"
                request.session["current_files"], request.session[
                    "current_bill"] = uploadFiles(files, str(request.user),
                                                  option)
                data_dict = {
                    'MID':
                    'VeMuWi85833969814381',
                    'TXN_AMOUNT':
                    str(request.session["current_bill"]),
                    'ORDER_ID':
                    uniqueId(str(request.user)),
                    'CUST_ID':
                    str(request.user),
                    'INDUSTRY_TYPE_ID':
                    'Retail',
                    'WEBSITE':
                    'worldpressplg',
                    'CHANNEL_ID':
                    'WEB',
                    'CALLBACK_URL':
                    'https://xpressxerox.pythonanywhere.com/action/handleRequest/'
                }
                data_dict["CHECKSUMHASH"] = Checksum.generate_checksum(
                    data_dict, MERCHANT_KEY)
                return render(request, "Paytm/PayTm.html",
                              {"data_dict": data_dict})
        else:
            fileList = getFileList(str(request.user))
            tableTitle = [
                "Per page B&W print",
                "Per Page Double Side B&W",
                "Per page Color print",
            ]
            complex_Dict = dict()
            for i in range(len(fileList)):
                complex_Dict[tableTitle[i]] = fileList[i]

            if "tran" in request.GET and "OID" in request.GET:
                if request.GET["tran"] == "pending" and "OID" in request.GET:
                    pending = Path.joinpath(AmirFolder, "Pending",
                                            request.GET["OID"])
                    os.makedirs(pending)
                    for file in request.session["current_files"]:
                        print("Moving from ---->", file)
                        print("moved to ---->", pending)
                        shutil.move(src=file, dst=pending)

                    request.session.pop("current_bill", None)
                    request.session.pop("current_files", None)

                    return redirect("action:userDashboard")

            elif "tran" in request.GET:
                try:
                    tran = signing.loads(request.GET["tran"],
                                         key="secreat_key_for_url",
                                         salt="more_encryption_@9160",
                                         max_age=5)
                    print("------tran------", tran)
                    paymentStatus(request.session, act=1)
                    request.session.pop("current_bill", None)
                    request.session.pop("current_files", None)

                    return redirect("action:userDashboard")
                except:
                    paymentStatus(request.session, act=0)
                    request.session.pop("current_bill", None)
                    request.session.pop("current_files", None)

                    return redirect("action:userDashboard")

            elif ("current_bill" in request.session) and ("current_files"
                                                          in request.session):
                paymentStatus(request.session, act=0)
                request.session.pop("current_bill", None)
                request.session.pop("current_files", None)

                return redirect("action:userDashboard")

            return render(request, "action/userDashboard.html", {
                "complex_Dict": complex_Dict,
            })
    else:
        return redirect('/user/logout/')
Example #11
0
def checkout(request):
    if request.method == 'POST':
        now = str(uuid.uuid1())
        itemsJson = request.POST.get('itemsJson', '')
        cust_name = request.POST.get('name', '')
        amount = request.POST.get('amount', '')
        cust_email = request.POST.get('user_email', '')
        cust_phone = request.POST.get('phone', '')
        cust_pin = request.POST.get('zip_code', '')
        address1 = request.POST.get('address1', '')
        address2 = request.POST.get('address2', '')
        address3 = request.POST.get('address3', '')
        town_city = request.POST.get('city', '')
        state = request.POST.get('state', '')
        address_type = request.POST.get('addresstype', '')
        print(now, itemsJson, cust_name, cust_email, cust_phone, cust_pin,
              address1, address2, address3, town_city, state, address_type)
        try:
            order = Orders(order_id=now,
                           items_json=itemsJson,
                           cust_name=cust_name,
                           cust_email=cust_email,
                           cust_phone=cust_phone,
                           cust_pin=cust_pin,
                           address1=address1,
                           address2=address2,
                           address3=address3,
                           town_city=town_city,
                           state=state,
                           address_type=address_type,
                           amount=amount)
            order.save()
            thank = True
            update = OrderUpdate(update_id=now,
                                 order_id=now,
                                 update_desc="The order has been placed")
            update.save()
            id = str(now)
            #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': 'zSMafn07580070778962',
                'ORDER_ID': str(order.order_id),
                'TXN_AMOUNT': str(amount),
                'CUST_ID': cust_email,
                'INDUSTRY_TYPE_ID': 'Retail',
                'WEBSITE': 'WEBSTAGING',
                'CHANNEL_ID': 'WEB',
                'CALLBACK_URL': 'http://127.0.0.1:8000/shop/handlerequest/',
            }
            param_dict['CHECKSUMHASH'] = Checksum.generate_checksum(
                param_dict, MERCHANT_KEY)
            return render(request, 'shop/paytm.html',
                          {'param_dict': param_dict})
        except Exception as e:
            thank = False
            print(e)
            print("Not saved..")
            return render(request, 'shop/checkout.html', {
                'thank': thank,
                'id': id
            })
    else:
        return render(request, 'shop/checkout.html')