Ejemplo n.º 1
0
def process_payment(request):
    order = utils.get_or_create_order(request)

    if order.total == 0:
        return redirect("kishore_store")

    klass = utils.load_class(order.payment_processor)
    payment_processor = klass(order)
    valid = payment_processor.accept_payment(request)

    if valid:
        order.complete()
        utils.clear_session_vars(request)
        return render(request, "kishore/store/success.html",{'order':order})
    else:
        error = "We're sorry, there was a problem charging you, please try again."
        return render(request, "kishore/store/error.html",{'error':error})
Ejemplo n.º 2
0
def payment(request):
    order = utils.get_or_create_order(request)

    if request.method == "POST":
        form = PaymentForm(request.POST, order=order)
        if form.is_valid():
            order.customer_name = form.cleaned_data['name']
            order.customer_email = form.cleaned_data['email']
            order.payment_processor = form.cleaned_data['processor']
            order.save()

            p = form.cleaned_data["processor"]
            klass = utils.load_class(p)
            processor = klass(order)
            return processor.get_response(request)
    else:
        cart = utils.get_or_create_cart(request)
        order.prepare_from_cart(cart)
        form = PaymentForm(order=order)

    return render(request, "kishore/store/payment.html",{'form':form,'order':order})