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'})
Exemplo n.º 2
0
def checkout_items(request):
    user = request.user
    total_cost = 0

    for item_order in request.POST.getlist('order'):
        item = CourseEnrollment.objects.get(pk=item_order)
        total_cost = total_cost + item.course.course_fees

    if total_cost > 0:
        api_key = settings.API_KEY
        auth_token = settings.AUTH_TOKEN

        api = Instamojo(api_key=api_key,auth_token=auth_token)
        api_request = api.payment_request_create(
            purpose="ThinkFOSS transaction",
            send_email=True,
            email=user.email,
            amount=total_cost,
            redirect_url="http://www.thinkfoss.com/register/user/portal/student/instamojoresponse/"
        )

        order_id = api_request['payment_request']['id']
        current_order = Order.objects.start_checkout(order_id, total_cost, user)
        for item_order in request.POST.getlist('order'):
            item = CourseEnrollment.objects.get(pk=item_order)
            item.order = current_order
            item.save()

        return redirect(api_request['payment_request']['longurl'])
    else:
        # Free course
        for item_order in request.POST.getlist('order'):
            item = CourseEnrollment.objects.get(pk=item_order)
            setattr(item,'course_enrolled',True)
            item.save()
            send_mail('emails/checkout_success.html', {'user': request.user, 'item': item.course.course_name },
                      '*****@*****.**', [user.email])
            send_mail('emails/notify_mentor.html',
                      {'user': request.user, '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'})
Exemplo n.º 3
0
from django.shortcuts import render, redirect, render_to_response
from django.contrib.auth.decorators import login_required
from django.template import RequestContext
from tracker.models import basictracker, bisceptracker, chesttracker, userprofile_extended, backtracker, hiptracker, thightracker, shouldertracker, photos, subscription
from tracker.forms import basictrackerForm, bisceptrackerForm, chesttrackerForm, userprofile_extended_goalsettings_Form, userprofile_extended_profilesettings_Form, backtrackerForm, hiptrackerForm, thightrackerForm, shouldertrackerForm, photosForm, subscriptionForm
from django.contrib.auth.models import User
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
from datetime import datetime, timedelta, timezone
from instamojo import Instamojo
from django.contrib import messages

api = Instamojo(api_key='b01a80d566585ce4c10fd76e72ee052d',
                auth_token='3d03b6076af55593df904d15f255a3e6',
                endpoint='https://test.instamojo.com/api/1.1/')


def indexpage(request):
    context = {}
    return render(request, "index.html", context)


def homepage(request):
    if request.user.is_authenticated():
        template = "loggedin_base.html"
        registered_user = '******'

        date_now = datetime.now(timezone.utc)
        obj = subscription.objects.filter(user_id=request.user)
        for i in obj:
            print("*********")
            print(i.subscription_startdate)