Skip to content

Instantly share code, notes, and snippets.

@icorradi
Created October 8, 2015 12:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save icorradi/0089f928a85908435c3a to your computer and use it in GitHub Desktop.
Save icorradi/0089f928a85908435c3a to your computer and use it in GitHub Desktop.
(test) Código SSL v1 - Homologação Cielo
# -*- coding: utf-8 -*-
import ssl
import requests
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.poolmanager import PoolManager
CIELO_URL = 'https://qasecommerce.cielo.com.br/servicos/ecommwsec.do'
version = '1.2.1';
xml = '<?xml version="1.0" encoding="ISO-8859-1" ?>'
xml+= '<requisicao-transacao id="e0d63d3853812293be814d038f83" versao="%s">' % version
xml+= '<dados-ec>'
xml+= '<numero>1006993069</numero>'
xml+= '<chave>25fbb99741c739dd84d7b06ec78c9bac718838630f30b112d033ce2e621b34f3</chave>'
xml+= '</dados-ec>'
xml+= '<dados-portador>'
xml+= '<numero>4012001037141112</numero>'
xml+= '<validade>201805</validade>'
xml+= '<indicador>1</indicador>'
xml+= '<codigo-seguranca>123</codigo-seguranca>'
xml+= '<nome-portador>Teste</nome-portador>'
xml+= '</dados-portador>'
xml+= '<dados-pedido>'
xml+= '<numero>717</numero>'
xml+= '<valor>9800</valor>'
xml+= '<moeda>986</moeda>'
xml+= '<data-hora>2015-10-07T13:21:58</data-hora>'
xml+= '<idioma>PT</idioma>'
xml+= '</dados-pedido>'
xml+= '<forma-pagamento>'
xml+= '<bandeira>visa</bandeira>'
xml+= '<produto>1</produto>'
xml+= '<parcelas>1</parcelas>'
xml+= '</forma-pagamento>'
xml+= '<url-retorno><![CDATA[http://www.google.com]]></url-retorno>'
xml+= '<autorizar>3</autorizar>'
xml+= '<capturar>true</capturar>'
xml+= '</requisicao-transacao>'
class SSLAdapter(HTTPAdapter):
'''An HTTPS Transport Adapter that uses an arbitrary SSL version.'''
def __init__(self, ssl_version=None, **kwargs):
self.ssl_version = ssl_version
super(SSLAdapter, self).__init__(**kwargs)
def init_poolmanager(self, connections, maxsize, block=False):
self.poolmanager = PoolManager(num_pools=connections,
maxsize=maxsize,
block=block,
ssl_version=self.ssl_version)
s = requests.Session()
s.mount('https://', SSLAdapter(ssl.PROTOCOL_TLSv1))
res = s.post(CIELO_URL, data={'mensagem': xml})
# debug
import pdb; pdb.set_trace();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment