def payment(request):
    saved_address = saved_address = BillingsAddress.objects.get_or_create(
        user=request.user)
    saved_address = saved_address[0]
    if not saved_address.is_fully_filled():
        messages.error(request, "Please fill the Billing address Properly")
        return redirect('App_Cart:view_cart')

    if not request.user.profile.is_fully_filled():
        messages.info(request, "Please complete your Profile details")
        return redirect('App_login:edit_profile')

    mypayment = SSLCSession(sslc_is_sandbox=True,
                            sslc_store_id='kdtec5f9ec95a661f1',
                            sslc_store_pass='******')

    status_url = request.build_absolute_uri(reverse('App_payment:complete'))

    mypayment.set_urls(success_url=status_url,
                       fail_url=status_url,
                       cancel_url=status_url,
                       ipn_url=status_url)

    order_queries = Order.objects.filter(user=request.user, ordered=False)
    order_item = order_queries[0].orderitems.all()
    order_item_count = order_queries[0].orderitems.count()
    order_total = order_queries[0].get_totals()

    mypayment.set_product_integration(total_amount=Decimal(order_total),
                                      currency='BDT',
                                      product_category='Mied',
                                      product_name=order_item,
                                      num_of_item=order_item_count,
                                      shipping_method='COD',
                                      product_profile='None')

    current_user = request.user

    mypayment.set_customer_info(name=current_user.profile.full_name,
                                email=current_user.email,
                                address1=current_user.profile.address_1,
                                address2=current_user.profile.address_1,
                                city=current_user.profile.city,
                                postcode=current_user.profile.zipcode,
                                country=current_user.profile.country,
                                phone=current_user.profile.phone)

    mypayment.set_shipping_info(shipping_to=current_user.profile.full_name,
                                address=saved_address.address,
                                city=saved_address.city,
                                postcode=saved_address.zipcode,
                                country=saved_address.country)

    response_data = mypayment.init_payment()
    return redirect(response_data['GatewayPageURL'])
Example #2
0
def payment(request):
	saved_address=BillingAddress.objects.get_or_create(user=request.user)
	saved_address=saved_address[0]
	if not saved_address.is_fully_filled():
		messages.info(request,"please complete shipping address")
		return redirect("App_Payment:checkout")
	if not request.user.profile.is_fully_filled():
		messages.info(request, f"Please complete profile details!")
		return redirect("App_login:profile")
	store_id='mypla5f87cc1750fcc'
	API_key='mypla5f87cc1750fcc@ssl'
	mypayment = SSLCSession(sslc_is_sandbox=True, sslc_store_id=store_id, sslc_store_pass=API_key)
	status_url = request.build_absolute_uri(reverse("App_Payment:complete"))
	print(status_url)
	mypayment.set_urls(success_url='status_url', fail_url='status_url', cancel_url='status_url', ipn_url='status_url')
	order_qs = Order.objects.filter(user=request.user, ordered=False)
	order_items = order_qs[0].orderitems.all()
	order_items_count = order_qs[0].orderitems.count()
	order_total = order_qs[0].get_totals()
	print(order_total)
	mypayment.set_product_integration(total_amount=Decimal(order_total), currency='BDT', product_category='clothing', product_name='demo-product', num_of_item=2, shipping_method='YES', product_profile='None')


	current_user = request.user
	mypayment.set_customer_info(name=current_user.profile.full_name, email=current_user.email, address1=current_user.profile.address_1, address2=current_user.profile.address_1, city=current_user.profile.city, postcode=current_user.profile.zipcode, country=current_user.profile.country, phone=current_user.profile.phone)

	mypayment.set_shipping_info(shipping_to=current_user.profile.full_name, address=saved_address.address, city=saved_address.city, postcode=saved_address.zipcode, country=saved_address.country)

	response_data = mypayment.init_payment()
	return redirect(response_data['GatewayPageURL'])
Example #3
0
def payment(request):
    saved_address = BillingAddress.objects.get_or_create(user = request.user)[0]

    if not saved_address.is_fully_filled():
        messages.info(request,f"Please complete shipping address!")
        return redirect("App_Payment:checkout")
    
    if not request.user.profile.is_fully_filled():
        messages.info(request,f"Please complete your profile!")
        return redirect("App_Login:profile")
    
    store_id ='mybus608700db601ed'
    API_key = 'mybus608700db601ed@ssl'

    status_url = request.build_absolute_uri(reverse("App_Payment:complete"))
    # print(status_url)
    
    mypayment = SSLCSession(sslc_is_sandbox=True, sslc_store_id=store_id, sslc_store_pass=API_key)
    mypayment.set_urls(success_url=status_url, fail_url=status_url, cancel_url=status_url, ipn_url=status_url)

    order_qs = Order.objects.filter(user = request.user, ordered=False)
    order_item = order_qs[0].orderitems.all()
    order_item_count = order_qs[0].orderitems.count()
    order_total = order_qs[0].get_total()

    mypayment.set_product_integration(total_amount=Decimal(order_total), currency='BDT', product_category='Mixed', product_name=order_item, num_of_item=order_item_count, shipping_method='Courier', product_profile='None')



    mypayment.set_customer_info(name=request.user.profile.full_name, email=request.user.email, address1=request.user.profile.address, address2=request.user.profile.address, city='Dhaka', postcode=request.user.profile.zipcode, country='Bangladesh', phone=request.user.profile.phone)

    mypayment.set_shipping_info(shipping_to=request.user.profile.full_name, address=saved_address.address, city=saved_address.city, postcode=saved_address.zipcode, country=saved_address.country)

    response_data = mypayment.init_payment()
    # print(response_data)
    
    # return render(request, 'App_Payment/payment.html',context={})
    return redirect(response_data['GatewayPageURL'])
Example #4
0
def payment(request):
    saved_address = BillingAddress.objects.get_or_create(user=request.user)
    saved_address = saved_address[0]
    if not saved_address.is_fully_filled():
        messages.warning(request, "Please complete shipping address.")
        return redirect("payment:checkout")
    if not request.user.profile.is_fully_filled():
        messages.warning(request, "Please complete profile details!")
        return redirect("account:profile")
    mypayment = SSLCSession(sslc_is_sandbox=True,
                            sslc_store_id='#',
                            sslc_store_pass='******')
    status_url = request.build_absolute_uri(reverse("payment:status"))
    mypayment.set_urls(success_url=status_url,
                       fail_url=status_url,
                       cancel_url=status_url,
                       ipn_url=status_url)
    order_qs = Order.objects.filter(user=request.user, ordered=False)
    order_items = order_qs[0].orderitems.all()
    total_items = order_qs[0].orderitems.count()
    total_amount = order_qs[0].get_totals()
    mypayment.set_product_integration(total_amount=Decimal(total_amount),
                                      currency='BDT',
                                      product_category='Mixed',
                                      product_name=order_items,
                                      num_of_item=total_items,
                                      shipping_method='Courier',
                                      product_profile='None')
    #user info
    user = request.user
    name, email = user.profile.fullname, user.email,
    address, address2 = user.profile.address_1, user.profile.address_2,
    city, postcode, country = user.profile.city, user.profile.zipcode, user.profile.country,
    phone = user.profile.phone
    mypayment.set_customer_info(name=name,
                                email=email,
                                address1=address,
                                address2=address2,
                                city=city,
                                postcode=postcode,
                                country=country,
                                phone=phone)
    #shipping address info
    ba_name = saved_address.name
    ba_address = saved_address.address
    ba_city = saved_address.city
    ba_zip_code = saved_address.zip_code
    ba_country = saved_address.country
    mypayment.set_shipping_info(shipping_to=ba_name,
                                address=ba_address,
                                city=ba_city,
                                postcode=ba_zip_code,
                                country=ba_country)
    response_data = mypayment.init_payment()
    return redirect(response_data['GatewayPageURL'])
Example #5
0
def PaymentView(request):
    cart = ShopCart.objects.filter(user_id=request.user.id)
    if cart.exists():
        # Clear & Delete shopcart
        cart.delete()
        request.session['cart_items'] = 0
        last_order = Order.objects.last()
        order_query = OrderProduct.objects.filter(order_id=last_order.pk)
        store_id = 'shajb606c38852a3a2'
        api_key = 'shajb606c38852a3a2@ssl'
        mypayment = SSLCSession(sslc_is_sandbox=True,
                                sslc_store_id=store_id,
                                sslc_store_pass=api_key)
        #status_url = request.build_absolute_uri()  #for getting running view url
        status_url = request.build_absolute_uri(
            reverse('Order:Order_PaymentComplete'))
        print(status_url)
        mypayment.set_urls(success_url=status_url,
                           fail_url=status_url,
                           cancel_url=status_url,
                           ipn_url=status_url)
        # for query in order_query:
        #     order_items.add(query)
        # order_items = order_query[0]
        order_items_count = order_query.count()
        # price_query = ShopCart.objects.filter(user_id=request.user.id)
        # print(price_query)
        total_price = 0
        for price in order_query:
            total_price += price.amount
        mypayment.set_product_integration(total_amount=Decimal(total_price),
                                          currency='BDT',
                                          product_category='Mixed',
                                          product_name=order_query,
                                          num_of_item=order_items_count,
                                          shipping_method='Local Shipping',
                                          product_profile='None')
        customer_info = Order.objects.last()
        if customer_info.first_name is None:
            return redirect("Order:CheckoutView")
        elif customer_info.last_name is None:
            return redirect("Order:CheckoutView")
        elif customer_info.email is None:
            return redirect("Order:CheckoutView")
        elif customer_info.city is None:
            return redirect("Order:CheckoutView")
        elif customer_info.zipcode is None:
            return redirect("Order:CheckoutView")
        elif customer_info.country is None:
            return redirect("Order:CheckoutView")
        elif customer_info.phone is None:
            return redirect("Order:CheckoutView")
        elif customer_info.address is None:
            return redirect("Order:CheckoutView")
        mypayment.set_customer_info(name=customer_info.first_name +
                                    customer_info.last_name,
                                    email=customer_info.email,
                                    address1=customer_info.address,
                                    address2=customer_info.address,
                                    city=customer_info.city,
                                    postcode=customer_info.zipcode,
                                    country=customer_info.country,
                                    phone=customer_info.phone)
        mypayment.set_shipping_info(shipping_to=customer_info.first_name +
                                    customer_info.last_name,
                                    address=customer_info.address,
                                    city=customer_info.city,
                                    postcode=customer_info.zipcode,
                                    country=customer_info.country)

        response_data = mypayment.init_payment()
    else:
        return HttpResponseRedirect(reverse('Home:IndexView'))
    context = {}
    return redirect(response_data['GatewayPageURL'])
Example #6
0
def paymentRequest(request):
    #print(request.user.email)

    mypayment = SSLCSession(sslc_is_sandbox=True,
                            sslc_store_id=settings.STORE_ID,
                            sslc_store_pass=settings.STORE_PASSWORD)

    url_status = request.build_absolute_uri(reverse("payment_complete"))

    mypayment.set_urls(success_url=url_status,
                       fail_url=url_status,
                       cancel_url=url_status,
                       ipn_url=url_status)

    mypayment.set_product_integration(total_amount=Decimal('39.00'),
                                      currency='BDT',
                                      product_category='e-books',
                                      product_name='book',
                                      num_of_item=100,
                                      shipping_method='NO',
                                      product_profile='None')

    mypayment.set_customer_info(name=f"{request.user}",
                                email=f"{request.user.email}",
                                address1='None',
                                city='None',
                                postcode='None',
                                country='None',
                                phone='None')

    mypayment.set_additional_values(value_a=f"{request.user}")
    response_data = mypayment.init_payment()

    return redirect(response_data['GatewayPageURL'])