Example #1
0
def checkout_page(request):
    cart_obj, new_obj = Cart.objects.new_or_get(request)
    user = request.user
    status = False
    if pay.objects.filter(user=user, STATUS='TXN_SUCCESS'):
        trns = pay.objects.filter(user=user, STATUS='TXN_SUCCESS')[0]
        status = True
    if request.user.is_authenticated:
        if request.method == "POST":
            name = request.POST.get('name', '')
            phone = request.POST.get('phone', '')
            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', '')
            amount = cart_obj.total
            order = Order(name=name,
                          phone=phone,
                          email=email,
                          address=address,
                          city=city,
                          state=state,
                          zip_code=zip_code)
            order.save()
            # Request paytm to transfer the amount to your account after payment by user
            param_dict = {
                'MID': 'QNsvNs85056236851568',
                '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,
                'user': user
            })
        return render(request, 'checkout.html', {
            'cart': cart_obj,
            'status': status
        })
    else:
        return redirect('user:user_login')
Example #2
0
 def test_order(self):
     order = Order()
     order.id = 1
     order.create_order_no()
     self.assertTrue(re.match(r'^\d+T\d+$', order.order_no))