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