Beispiel #1
0
    def paymentView(self, request, param, order):
        if request.POST:
            payment_form = CCForm(request.POST)
            if payment_form.is_valid():
                
                payment_attempt = order.paymentattempt_set.create()
                result = "\n".join(['%s: %s' % t for t in payment_form.cleaned_data.iteritems()])

                payment_attempt.result = result
                payment_attempt.transaction_ref = "manual"
                payment_attempt.amount = order.total()
                payment_attempt.save()

                order.payment_successful = True
                order.save()
                
                return HttpResponseRedirect(order.get_absolute_url())
                
        else:
            payment_form = CCForm()
        
        
        return render_to_response(
            'cart/payment.html',
            RequestContext(request, {
                'order': order,
                'form': payment_form,
                'cart': helpers.get_cart()(request),
                'steps': steps(request),
            }),
        )
Beispiel #2
0
    def paymentView(self, request, param, order):
        if request.POST:
            payment_form = CCForm(request.POST)
            if payment_form.is_valid():

                payment_attempt = order.paymentattempt_set.create()
                result = "\n".join([
                    '%s: %s' % t
                    for t in payment_form.cleaned_data.iteritems()
                ])

                payment_attempt.result = result
                payment_attempt.transaction_ref = "manual"
                payment_attempt.amount = order.total()
                payment_attempt.save()

                order.payment_successful = True
                order.save()

                return HttpResponseRedirect(order.get_absolute_url())

        else:
            payment_form = CCForm()

        return render_to_response(
            'cart/payment.html',
            RequestContext(
                request, {
                    'order': order,
                    'form': payment_form,
                    'cart': Cart(request),
                    'steps': steps(request),
                }),
        )
 def paymentView(self, request, param, order):
     error_message = ''
     
     if order.payment_successful == True:
         return HttpResponseRedirect(order.get_absolute_url())
     else:
         if request.POST:
             payment_form = CCForm(request.POST)
             if payment_form.is_valid():
                 payment_attempt = order.paymentattempt_set.create()
                 
                 if callable(cart_settings.WEBPAY_CLIENT_ID):
                     client_id = cart_settings.WEBPAY_CLIENT_ID(order)
                 elif cart_settings.WEBPAY_CLIENT_ID:
                     client_id = cart_settings.WEBPAY_CLIENT_ID
                 else:
                     raise PaymentException('Payment client id not set')
                 
                 
                 #success, transaction_ref, message, user_message = True, 123, "test", "test user message"
                 success, transaction_ref, message, user_message = self.makePayment(client_id, order.total(), order.pk, payment_form.cleaned_data)
                 
                 payment_attempt.transaction_ref = transaction_ref
                 payment_attempt.result = message
                 payment_attempt.user_message = user_message
                 payment_attempt.success = success
                 payment_attempt.amount = order.total()
                 payment_attempt.save()
                 
                 if success:
                     order.payment_successful = True
                     order.save()
                     return HttpResponseRedirect(order.get_absolute_url())
                 else:
                     payment_form = CCForm() # don't bind data to the form since its a CC form
                     error_message = user_message
         else:
             payment_form = CCForm()
         
         
         return render_to_response(
             'cart/payment.html',
             RequestContext(request, {
                 'order': order,
                 'form': payment_form,
                 'cart': Cart(request),
                 'error_message': error_message,
                 'steps': steps(request),
             }),
         )
    def paymentView(self, request, param, order):
        error_message = ''

        if order.payment_successful == True:
            return HttpResponseRedirect(order.get_absolute_url())
        else:
            if request.POST:
                payment_form = CCForm(request.POST)
                if payment_form.is_valid():
                    payment_attempt = order.paymentattempt_set.create()

                    if callable(cart_settings.WEBPAY_CLIENT_ID):
                        client_id = cart_settings.WEBPAY_CLIENT_ID(order)
                    elif cart_settings.WEBPAY_CLIENT_ID:
                        client_id = cart_settings.WEBPAY_CLIENT_ID
                    else:
                        raise PaymentException('Payment client id not set')

                    #success, transaction_ref, message, user_message = True, 123, "test", "test user message"
                    success, transaction_ref, message, user_message = self.makePayment(
                        client_id, order.total(), order.pk,
                        payment_form.cleaned_data)

                    payment_attempt.transaction_ref = transaction_ref
                    payment_attempt.result = message
                    payment_attempt.user_message = user_message
                    payment_attempt.success = success
                    payment_attempt.amount = order.total()
                    payment_attempt.save()

                    if success:
                        order.payment_successful = True
                        order.save()
                        return HttpResponseRedirect(order.get_absolute_url())
                    else:
                        payment_form = CCForm(
                        )  # don't bind data to the form since its a CC form
                        error_message = user_message
            else:
                payment_form = CCForm()

            return render_to_response(
                'cart/payment.html',
                RequestContext(
                    request, {
                        'order': order,
                        'form': payment_form,
                        'cart': Cart(request),
                        'error_message': error_message,
                        'steps': steps(request),
                    }),
            )