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