Exemplo n.º 1
0
def pay(request):
    from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro
    user = request.user
    member = user.get_profile()
    if request.method == 'POST':
        p = Payment.objects.create(status="Aguardando", user=user)
        carrinho = CarrinhoPagSeguro(ref_transacao=p.pk)
        carrinho.set_cliente(email=user.email, cep=member.address_zip)
        carrinho.add_item(ItemPagSeguro(cod=1, descr='Anuidade Ciclocidade', quant=1, valor=60.00))
        payment_form = carrinho.form()
        return render_to_response("pay-forward.html", {'payment_form': payment_form}, context_instance=RequestContext(request))
    return render_to_response("pay.html", context_instance=RequestContext(request))
Exemplo n.º 2
0
    def test_render_form(self):
        from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro
        from django.conf import settings

        carrinho = CarrinhoPagSeguro(ref_transcao=42)
        carrinho.set_cliente(email='*****@*****.**')
        carrinho.add_item(ItemPagSeguro(1, "Camisa Azul", 2, 32.40))
        carrinho.add_item(ItemPagSeguro(2, "Camisa Verde", 3, 35.50))

        form_pagseguro = carrinho.form()
        self.assertTrue(isinstance(form_pagseguro, SafeUnicode))
        self.assertTrue('https://pagseguro.uol.com.br/security/webpagamentos/webpagto.aspx' in form_pagseguro)
        for k,v in carrinho.config.items():
            self.assertTrue('<input type="hidden" name="%s" value="%s" />' % (k, v) in form_pagseguro)
        for k,v in carrinho.cliente.items():
            self.assertTrue('<input type="hidden" name="cliente_%s" value="%s" />' % (k, v) in form_pagseguro)
        for i,item in enumerate(carrinho.itens, 1):
            self.assertTrue('<input type="hidden" name="item_id_%d" value="%s" />' % (i, item.cod) in form_pagseguro)
            self.assertTrue('<input type="hidden" name="item_descr_%d" value="%s" />' % (i, item.descr) in form_pagseguro)
            self.assertTrue('<input type="hidden" name="item_quant_%d" value="%s" />' % (i, item.quant) in form_pagseguro)
            self.assertTrue('<input type="hidden" name="item_valor_%d" value="%s" />' % (i, item.valor) in form_pagseguro)
Exemplo n.º 3
0
def pay(request):
    from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro

    user = request.user
    member = user.get_profile()
    if request.method == "POST":
        p = Payment.objects.create(status="Aguardando", user=user)
        carrinho = CarrinhoPagSeguro(ref_transacao=p.pk)
        carrinho.set_cliente(email=user.email, cep=member.address_zip)
        valor = calculate_membership_fee(datetime.today())
        donations = request.POST["donation"].replace(",", ".")
        try:
            donations = float(donations)
        except ValueError:
            donations = 0
        carrinho.add_item(ItemPagSeguro(cod=1, descr="Anuidade Ciclocidade", quant=1, valor=float(valor)))
        if donations > 0:
            carrinho.add_item(ItemPagSeguro(cod=1, descr="Doação Ciclocidade", quant=1, valor=float(donations)))
        payment_form = carrinho.form()
        return render_to_response(
            "pay-forward.html", {"payment_form": payment_form}, context_instance=RequestContext(request)
        )
    paids = user.payment_set.filter(paid=True)

    now = datetime.now()
    year = now.year if now.month >= 8 else now.year - 1
    last_year = paids.filter(created_at__gt=date(year, 8, 1))

    show_form = not bool(last_year.count())
    if not show_form:
        messages.add_message(request, messages.SUCCESS, "Você esta em dia com o pagamento da anuidade!")
        year = None
    else:
        messages.add_message(
            request, messages.WARNING, "Por favor, leia as instruções e efetue o pagamento da anuidade via PagSeguro"
        )
        year = datetime.now().year
    return render_to_response(
        "pay.html", {"paids": paids, "show_form": show_form, "year": year}, context_instance=RequestContext(request)
    )
Exemplo n.º 4
0
    def test_adicao_de_itens(self):
        from django_pagseguro.pagseguro import ItemPagSeguro, CarrinhoPagSeguro
        from django.conf import settings

        carrinho = CarrinhoPagSeguro()
        carrinho.add_item(ItemPagSeguro(1, "Camisa Azul", 2, 32.40))
        carrinho.add_item(ItemPagSeguro(2, "Camisa Verde", 3, 35.50))
        carrinho.add_item(ItemPagSeguro(cod=3, descr="Camisa Vermelha", quant=1, valor=35.0))

        self.assertEquals(len(carrinho.itens), 3)

        self.assertEquals(carrinho.itens[0].cod, 1)
        self.assertEquals(carrinho.itens[0].valor, 3240)

        self.assertEquals(carrinho.itens[1].descr, "Camisa Verde")
        self.assertEquals(carrinho.itens[1].valor, 3550)

        self.assertEquals(carrinho.itens[2].quant, 1)
        self.assertEquals(carrinho.itens[2].valor, 3500)