def finalizar_pagamento(request): if verificar_estoque_produtos(request) > 0: return HttpResponseRedirect(reverse('carrinho:estoque_indisponivel')) if not request.session.get('endereco',False): return HttpResponseRedirect(reverse('carrinho:finalizar_pagamento_escolher_endereco')) opcao_pagamento = request.POST.get('opcao-pagamento',None) if not opcao_pagamento: return retornar_escolha_pagamento(request,u"Ocorreu algum problema no pagamento. Por favor tente realizar o pagamento novamente.") carrinho = Carrinho(request) endereco = get_object_or_404(Endereco, id=request.session['endereco']) frete_valor, frete_tipo, frete_tipo_nome = request.session['frete'].split("/") valor_compra = Decimal(frete_valor) + carrinho.preco_total() valor_compra = str(valor_compra).replace(",",".") if opcao_pagamento == "cielo": bandeira = request.POST['bandeira'] prestacoes = int(request.POST['prestacoes']) pedido,created = Pedido.objects.get_or_create(cliente=Cliente.objects.get(user=request.user),carrinho=carrinho,endereco=endereco,tipo_frete=frete_tipo,frete=frete_valor,tipo_pagamento=opcao_pagamento,para_presente=para_presente,presente_de=presente_de,presente_para=presente_para) if created: atualizar_estoque(pedido) payment = PaymentAttempt() if prestacoes > 1: transaction = 2 else: transaction = 1 try: return redirect(payment.transaction(total=Decimal(valor_compra),card_type=bandeira,order=pedido,installments=prestacoes,transaction=transaction,url_retorno="http://www.miniature.com.br/carrinho/compra-finalizada/cielo/?p=%s" % pedido.numero)) except: messages.error(request,"Ocorreu algum problema na tentativa de pagamento com cartão de crédito através da Cielo. Por favor tente realizar o pagamento novamente.") return render_to_response('carrinho/finalizar_pagamento_escolher_forma_pagamento.html', { 'valor_compra':valor_compra.replace(".",','), },context_instance=RequestContext(request))
def finalizar_pagamento_escolher_forma_pagamento(request): if verificar_estoque_produtos(request) > 0: return HttpResponseRedirect(reverse('carrinho:estoque_indisponivel')) if not request.session.get('endereco',False): return HttpResponseRedirect(reverse('carrinho:finalizar_pagamento_escolher_endereco')) frete_valor,frete_tipo,frete_tipo_nome = request.POST.get('tipo-frete',None).split("/") request.session['frete'] = request.POST.get('tipo-frete',None) carrinho = Carrinho(request) valor_compra = Decimal(frete_valor) + carrinho.preco_total() return render_to_response('carrinho/finalizar_pagamento_escolher_forma_pagamento.html', { 'valor_compra':valor_compra, },context_instance=RequestContext(request))
def finalizar_pagamento_escolher_forma_pagamento(request): if verificar_estoque_produtos(request) > 0: return HttpResponseRedirect(reverse('carrinho:estoque_indisponivel')) if not request.session.get('endereco', False): return HttpResponseRedirect( reverse('carrinho:finalizar_pagamento_escolher_endereco')) frete_valor, frete_tipo, frete_tipo_nome = request.POST.get( 'tipo-frete', None).split("/") request.session['frete'] = request.POST.get('tipo-frete', None) carrinho = Carrinho(request) valor_compra = Decimal(frete_valor) + carrinho.preco_total() return render_to_response( 'carrinho/finalizar_pagamento_escolher_forma_pagamento.html', { 'valor_compra': valor_compra, }, context_instance=RequestContext(request))
def finalizar_pagamento(request): if verificar_estoque_produtos(request) > 0: return HttpResponseRedirect(reverse('carrinho:estoque_indisponivel')) if not request.session.get('endereco', False): return HttpResponseRedirect( reverse('carrinho:finalizar_pagamento_escolher_endereco')) opcao_pagamento = request.POST.get('opcao-pagamento', None) if not opcao_pagamento: return retornar_escolha_pagamento( request, u"Ocorreu algum problema no pagamento. Por favor tente realizar o pagamento novamente." ) carrinho = Carrinho(request) endereco = get_object_or_404(Endereco, id=request.session['endereco']) frete_valor, frete_tipo, frete_tipo_nome = request.session['frete'].split( "/") valor_compra = Decimal(frete_valor) + carrinho.preco_total() valor_compra = str(valor_compra).replace(",", ".") if opcao_pagamento == "cielo": bandeira = request.POST['bandeira'] prestacoes = int(request.POST['prestacoes']) pedido, created = Pedido.objects.get_or_create( cliente=Cliente.objects.get(user=request.user), carrinho=carrinho, endereco=endereco, tipo_frete=frete_tipo, frete=frete_valor, tipo_pagamento=opcao_pagamento, para_presente=para_presente, presente_de=presente_de, presente_para=presente_para) if created: atualizar_estoque(pedido) payment = PaymentAttempt() if prestacoes > 1: transaction = 2 else: transaction = 1 try: return redirect( payment.transaction( total=Decimal(valor_compra), card_type=bandeira, order=pedido, installments=prestacoes, transaction=transaction, url_retorno= "http://www.miniature.com.br/carrinho/compra-finalizada/cielo/?p=%s" % pedido.numero)) except: messages.error( request, "Ocorreu algum problema na tentativa de pagamento com cartão de crédito através da Cielo. Por favor tente realizar o pagamento novamente." ) return render_to_response( 'carrinho/finalizar_pagamento_escolher_forma_pagamento.html', { 'valor_compra': valor_compra.replace(".", ','), }, context_instance=RequestContext(request))