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})
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})