def test_erro(self): erro = xml_to_object( open(os.path.join(BASE_DIR, 'xml8.xml')).read() ) self.assertTrue(isinstance(erro, Erro)) self.assertEqual(erro.codigo, '000') self.assertEqual(erro.mensagem, 'Mensagem')
def capturar(self, tid=None, comercial=None, valor=None, taxa_embarque=None): """ Realiza o processo de captura de uma transação. """ if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if valor is not None and not isinstance(valor, six.integer_types): raise TypeError('valor precisa ser do tipo inteiro.') xml = self.render_template('captura.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial, valor=valor, taxa_embarque=taxa_embarque) response = self.session.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format(object_data.codigo, object_data.mensagem)) return object_data
def capturar(self, tid=None, comercial=None, valor=None, taxa_embarque=None): """ Realiza o processo de captura de uma transação. """ if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if valor is not None and not isinstance(valor, six.integer_types): raise TypeError('valor precisa ser do tipo inteiro.') xml = self.render_template( 'captura.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial, valor=valor, taxa_embarque=taxa_embarque ) response = self.session.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format( object_data.codigo, object_data.mensagem) ) return object_data
def test_token(self): token = xml_to_object(open(os.path.join(BASE_DIR, 'xml4.xml')).read()) self.assertTrue(isinstance(token, Token)) self.assertEqual(token.codigo, 'HYcQ0MQ39fl8kn9OR7lFsTtxa+wNuM4lqQLUeN5SYZY=') self.assertEqual(token.status, 1) self.assertEqual(token.numero, '211141******2104')
def test_token(self): token = xml_to_object( open(os.path.join(BASE_DIR, 'xml4.xml')).read() ) self.assertTrue(isinstance(token, Token)) self.assertEqual( token.codigo, 'HYcQ0MQ39fl8kn9OR7lFsTtxa+wNuM4lqQLUeN5SYZY=' ) self.assertEqual(token.status, 1) self.assertEqual(token.numero, '211141******2104')
def test_autorizacao_direta(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml1.xml')).read()) self.assertEqual(transacao.tid, '100699306948372E1001') self.assertEqual(transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=') self.assertEqual(transacao.status, 6) self.assertTrue(isinstance(transacao.pedido, Pedido)) self.assertTrue(isinstance(transacao.pagamento, Pagamento)) self.assertTrue(isinstance(transacao.autenticacao, Autenticacao)) self.assertTrue(isinstance(transacao.autorizacao, Autorizacao)) self.assertTrue(isinstance(transacao.captura, Captura))
def test_autorizacao_direta(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml1.xml')).read() ) self.assertEqual(transacao.tid, '100699306948372E1001') self.assertEqual( transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=' ) self.assertEqual(transacao.status, 6) self.assertTrue(isinstance(transacao.pedido, Pedido)) self.assertTrue(isinstance(transacao.pagamento, Pagamento)) self.assertTrue(isinstance(transacao.autenticacao, Autenticacao)) self.assertTrue(isinstance(transacao.autorizacao, Autorizacao)) self.assertTrue(isinstance(transacao.captura, Captura))
def test_cancelamento(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml7.xml')).read()) self.assertTrue(isinstance(transacao, Transacao)) self.assertEqual(transacao.tid, '1006993069484E8B1001') self.assertEqual(transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=') self.assertTrue(isinstance(transacao.cancelamento, Cancelamento)) self.assertEqual(transacao.cancelamento.codigo, 9) self.assertEqual(transacao.cancelamento.mensagem, 'Transacao cancelada com sucesso') self.assertEqual(transacao.cancelamento.data_hora, '2015-10-06T16:45:10.547-03:00') self.assertEqual(transacao.cancelamento.valor, 10000)
def autorizar(self, transacao): if not isinstance(transacao, Transacao): raise TypeError('transacao precisa ser do tipo Transacao.') xml = self.render_template('transacao.xml', id=str(uuid.uuid4()), transacao=transacao) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format(object_data.codigo, object_data.mensagem)) return object_data
def autorizar(self, transacao): if not isinstance(transacao, Transacao): raise TypeError('transacao precisa ser do tipo Transacao.') xml = self.render_template( 'transacao.xml', id=str(uuid.uuid4()), transacao=transacao ) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format( object_data.codigo, object_data.mensagem) ) return object_data
def test_transacao_autenticada(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml2.xml')).read()) self.assertTrue(isinstance(transacao, Transacao)) self.assertEqual(transacao.tid, '1006993069483CE61001') self.assertEqual(transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=') self.assertEqual(transacao.status, 0) self.assertEqual( transacao.url_autenticacao, 'https://qasecommerce.cielo.com.br/web/index.cbmp?id=5a3a7c089f5299f535dcdd1f502a38ba' ) self.assertTrue(isinstance(transacao.pedido, Pedido)) self.assertTrue(isinstance(transacao.pagamento, Pagamento)) self.assertFalse(transacao.autenticacao) self.assertFalse(transacao.autorizacao) self.assertFalse(transacao.captura)
def test_cancelamento(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml7.xml')).read() ) self.assertTrue(isinstance(transacao, Transacao)) self.assertEqual(transacao.tid, '1006993069484E8B1001') self.assertEqual( transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=' ) self.assertTrue(isinstance(transacao.cancelamento, Cancelamento)) self.assertEqual(transacao.cancelamento.codigo, 9) self.assertEqual( transacao.cancelamento.mensagem, 'Transacao cancelada com sucesso' ) self.assertEqual( transacao.cancelamento.data_hora, '2015-10-06T16:45:10.547-03:00' ) self.assertEqual(transacao.cancelamento.valor, 10000)
def test_transacao_autenticada(self): transacao = xml_to_object( open(os.path.join(BASE_DIR, 'xml2.xml')).read() ) self.assertTrue(isinstance(transacao, Transacao)) self.assertEqual(transacao.tid, '1006993069483CE61001') self.assertEqual( transacao.pan, 'IqVz7P9zaIgTYdU41HaW/OB/d7Idwttqwb2vaTt8MT0=' ) self.assertEqual(transacao.status, 0) self.assertEqual( transacao.url_autenticacao, 'https://qasecommerce.cielo.com.br/web/index.cbmp?id=5a3a7c089f5299f535dcdd1f502a38ba' ) self.assertTrue(isinstance(transacao.pedido, Pedido)) self.assertTrue(isinstance(transacao.pagamento, Pagamento)) self.assertFalse(transacao.autenticacao) self.assertFalse(transacao.autorizacao) self.assertFalse(transacao.captura)
def gerar_token(self, comercial=None, cartao=None): if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if not isinstance(cartao, Cartao): raise TypeError('cartao precisa ser do tipo Cartao.') xml = self.render_template('token.xml', id=str(uuid.uuid4()), comercial=comercial, cartao=cartao) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format(object_data.codigo, object_data.mensagem)) return object_data
def gerar_token(self, comercial=None, cartao=None): if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if not isinstance(cartao, Cartao): raise TypeError('cartao precisa ser do tipo Cartao.') xml = self.render_template( 'token.xml', id=str(uuid.uuid4()), comercial=comercial, cartao=cartao ) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format( object_data.codigo, object_data.mensagem) ) return object_data
def cancelar(self, tid=None, comercial=None, valor=None): if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if valor is not None and not isinstance(valor, six.integer_types): raise TypeError('valor precisa ser do tipo inteiro.') xml = self.render_template('cancelamento.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial, valor=valor) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format(object_data.codigo, object_data.mensagem)) return object_data
def consultar(self, tid=None, comercial=None): """ Retorna os dados de uma transação. """ if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') xml = self.render_template('consulta.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial) response = self.session.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format(object_data.codigo, object_data.mensagem)) return object_data
def cancelar(self, tid=None, comercial=None, valor=None): if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') if valor is not None and not isinstance(valor, six.integer_types): raise TypeError('valor precisa ser do tipo inteiro.') xml = self.render_template( 'cancelamento.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial, valor=valor ) response = requests.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format( object_data.codigo, object_data.mensagem) ) return object_data
def consultar(self, tid=None, comercial=None): """ Retorna os dados de uma transação. """ if not isinstance(tid, six.string_types): raise TypeError('tid precisa ser do tipo string.') if not isinstance(comercial, Comercial): raise TypeError('comercial precisa ser do tipo Comercial.') xml = self.render_template( 'consulta.xml', id=str(uuid.uuid4()), tid=tid, comercial=comercial ) response = self.session.post(self.base_url, data={'mensagem': xml}) object_data = xml_to_object(response.text) if isinstance(object_data, Erro): raise CieloRequestError('{0} - {1}'.format( object_data.codigo, object_data.mensagem) ) return object_data
def test_erro(self): erro = xml_to_object(open(os.path.join(BASE_DIR, 'xml8.xml')).read()) self.assertTrue(isinstance(erro, Erro)) self.assertEqual(erro.codigo, '000') self.assertEqual(erro.mensagem, 'Mensagem')