Example #1
0
def contact():

    dados = request.form
    tudogratis = False

    #Verifica se ainda tem SuperSavers
    qtd_ss = len(SuperSaver.query.filter(SuperSaver.usado == False).all())
    if qtd_ss <= 0:
        resposta = {
            "sucesso": 'Acabou',
            'token': 'Infelizmente nosso estoque se esgotou',
            "tudogratis": False,
            'venda': 0,
            'id_proprio': ""
        }
        return jsonify(resposta)

    venda = Venda(dados.get("nome"))
    venda.quantidade = dados.get("quantidade")
    venda.telefone_cliente = dados.get("telefone")
    venda.email_cliente = dados.get("email")
    venda.cpf_cliente = dados.get("cpf")
    venda.email_enviado = False
    venda.cupom_usado = dados.get('cupom')
    venda.valor_pago = int(
        dados.get("quantidade")) * app.config.get("VALOR_INGRESSO")
    create(venda)

    if dados.get("cupom").lower() == app.config.get("CUPOM_FREE"):
        #Aqui não necessita pagar nada e somente retorna ok para a tela
        #de confirmacao dos super-savers
        tudogratis = True
        resposta = {
            "sucesso": 'Sucesso',
            'token': '',
            "tudogratis": True,
            'venda': venda.id,
            'id_proprio': venda.id_proprio,
        }

        venda.pagamento = "Free"
        venda.valor_pago = 0
        create(venda)

    else:

        moip = Moip(app.config.get("MOIP_RAZAO_PAGAMENTO"))

        #Dados necessários para checkout transparent
        endereco = dict(Logradouro=dados.get("rua"),
                        Numero=dados.get("nro"),
                        Complemento=dados.get("complemento"),
                        Bairro=dados.get("bairro"),
                        Cidade=dados.get("cidade"),
                        Estado=dados.get("uf"),
                        CEP=dados.get("cep"),
                        TelefoneFixo=dados.get("telefone"))
        moip.set_pagador(
            Nome=dados.get("nome"),
            Email=dados.get("email"),
            # Apelido='vitalbh',
            IdPagador=str(venda.id),
            EnderecoCobranca=endereco)

        dados_retorno = {
            "Forma": "CartaoCredito",
            "Instituicao": dados.get("cardtype"),
            "Parcelas": "1",
            "CartaoCredito": {
                "Numero": dados.get("nrocartao"),
                "Expiracao": dados.get("data_expiracao"),
                "CodigoSeguranca": dados.get("cod_seguranca"),
                "Portador": {
                    "Nome": dados.get("nome_cartao"),
                    "DataNascimento": dados.get("data_nascimento"),
                    "Telefone": dados.get("telefone"),
                    "Identidade": dados.get("cpf")
                }
            }
        }

        moip.set_credenciais(token=app.config.get("MOIP_TOKEN"),
                             key=app.config.get("MOIP_KEY"))

        if app.config.get("DEBUG"):
            moip.set_ambiente('sandbox')
        else:
            moip.set_ambiente("producao")

        moip.set_valor(
            str(
                int(dados.get("quantidade")) *
                app.config.get("VALOR_INGRESSO")))
        moip.set_data_vencimento('2016-01-20')
        moip.set_id_proprio(venda.id_proprio)
        moip.set_checkout_transparente()
        print "Enviando pagto..."
        moip.envia()
        print "pegando resposta..."
        resposta = moip.get_resposta(
        )  # {sucesso:'Sucesso','token':'KJHSDASKD392847293AHFJKDSAH'}
        print "Resposta retornada"
        if resposta['sucesso'] == "Sucesso":
            venda.token_moip = resposta['token']
            create(venda)
        else:
            venda.falhou = True
            venda.token_moip = resposta[
                'token']  # Neste caso vem a mensagem de erro
            create(venda)
        print "Resposta:", resposta
        resposta['dados_retorno'] = dados_retorno
        resposta['tudogratis'] = False
        resposta['venda'] = venda.id
        resposta['id_proprio'] = venda.id_proprio

    return jsonify(resposta)
Example #2
0
from moipy import Moip

moip = Moip('Razao do Pagamento')

moip.set_credenciais(token='seu_token',key='sua_key')
moip.set_ambiente('sandbox')
moip.set_valor('12345')
moip.set_data_vencimento('yyyy-mm-dd')
moip.set_id_proprio('abc1234')
moip.envia()

print moip.get_resposta()