示例#1
0
def register_paypal_payment(sender, **kwargs):
    ipn_obj = sender
    # Because of django-paypal's reliance on settings variables, payments 
    # come through as completed and verified,
    # but are still flagged with receiver_email as invalid.  This signal
    # handler is thus used for both payment_was_successful and 
    # payment_was_flagged.
    order = Order.objects.get(id=ipn_obj.invoice)
    if ipn_obj.payment_status == 'Completed':
        from tiger.notify.tasks import DeliverOrderTask
        DeliverOrderTask.delay(order.id, Order.STATUS_PAID)
    elif ipn_obj.payment_status == 'Refunded':
        order.status = Order.STATUS_REFUNDED
        order.save()
示例#2
0
def register_paypal_payment(sender, **kwargs):
    ipn_obj = sender
    # Because of django-paypal's reliance on settings variables, payments
    # come through as completed and verified,
    # but are still flagged with receiver_email as invalid.  This signal
    # handler is thus used for both payment_was_successful and
    # payment_was_flagged.
    order = Order.objects.get(id=ipn_obj.invoice)
    if ipn_obj.payment_status == 'Completed':
        from tiger.notify.tasks import DeliverOrderTask
        DeliverOrderTask.delay(order.id, Order.STATUS_PAID)
    elif ipn_obj.payment_status == 'Refunded':
        order.status = Order.STATUS_REFUNDED
        order.save()
示例#3
0
文件: views.py 项目: tonomuniz/tiger
                order = form.save()
            except InvalidOperation:
                form._errors['__all__'] = ErrorList(['Your order is too large.  Please contact us for catering options.'])
            else:
                if request.cart.has_coupon:
                    coupon = Coupon.objects.get(id=request.cart['coupon']['id'])
                    coupon.log_use(order, request.cart.discount())
                if 'pay' in request.POST:
                    request.session['order_id'] = order.id
                    return HttpResponseRedirect(
                        request.site.ordersettings.payment_url(
                            cart_id=request.cart.session.session_key,
                            order_id=order.id
                        )
                    )
                DeliverOrderTask.delay(order.id, Order.STATUS_SENT)
                return HttpResponseRedirect(reverse('order_success'))
    else:
        form = OrderForm(request=request)
    context = {
        'form': form
    }
    return render_custom(request, 'core/send_order.html', context)

@online_ordering
def payment_paypal(request):
    try:
        order = Order.objects.get(id=request.session['order_id'])
    except (Order.DoesNotExist, KeyError):
        return HttpResponseRedirect(reverse('preview_order'))
    site = request.site