コード例 #1
0
ファイル: pagseguro.py プロジェクト: polijr/si_piloto
    def test_criacao_carrinho_com_configuracoes(self):
        from django_pagseguro.pagseguro import CarrinhoPagSeguro
        from django.conf import settings

        carrinho = CarrinhoPagSeguro(ref_transacao=42)

        self.assertEquals(carrinho.config['ref_transacao'], 42)
コード例 #2
0
ファイル: pagseguro.py プロジェクト: polijr/si_piloto
    def test_criacao_carrinho_simples(self):
        from django_pagseguro.pagseguro import CarrinhoPagSeguro
        from django.conf import settings

        carrinho = CarrinhoPagSeguro()
        self.assertEquals(carrinho.config['tipo'], 'CP')
        self.assertEquals(carrinho.config['encoding'], 'UTF-8')
        self.assertEquals(carrinho.config['moeda'], 'BRL')
        self.assertEquals(carrinho.config['email_cobranca'], settings.PAGSEGURO_EMAIL_COBRANCA)
        self.assertEquals(carrinho.config['ref_transacao'], '')
コード例 #3
0
ファイル: pagseguro.py プロジェクト: polijr/si_piloto
    def test_configuracao_cliente(self):
        from django_pagseguro.pagseguro import CarrinhoPagSeguro
        from django.conf import settings

        carrinho = CarrinhoPagSeguro()
        carrinho.set_cliente(email='*****@*****.**')
        carrinho.set_cliente(nome='Fulano da Silva')
        carrinho.set_cliente(cep='60000000', end='Rua Beltrano de Sousa')

        self.assertEquals(carrinho.cliente['email'], '*****@*****.**')
        self.assertEquals(carrinho.cliente['nome'], 'Fulano da Silva')
        self.assertEquals(carrinho.cliente['cep'], '60000000')
        self.assertEquals(carrinho.cliente['end'], 'Rua Beltrano de Sousa')
コード例 #4
0
ファイル: pagseguro.py プロジェクト: polijr/si_piloto
    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)
コード例 #5
0
ファイル: pagseguro.py プロジェクト: polijr/si_piloto
    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)
コード例 #6
0
ファイル: views.py プロジェクト: brunogola/andy
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))
コード例 #7
0
ファイル: views.py プロジェクト: ciclocidade/andy
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)
    )