Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cieloApi3/objectJSON.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ def remove_none_dict(obj):
retorno = {}
for chave in obj:
valor = obj[chave]
if valor or isinstance(valor, (int, long, float, complex)):
if valor or isinstance(valor, (int, float, complex)):
retorno[chave] = remove_none(valor)

return retorno
Expand Down
72 changes: 72 additions & 0 deletions cieloApi3/objectJSON.py.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@

import json

class ObjectJSON(object):

def toJSON(self):

dicionary = json.loads(json.dumps(self, default=lambda o: o.__dict__))

dicionary = remove_none(dicionary)

dicionary = process_name_key(dicionary)

return json.dumps(dicionary, indent=2)

def prepare(self):
pass

def __getattribute__(self, attribute):

if attribute == '__dict__':
self.prepare()

return object.__getattribute__(self, attribute)


def process_name_key(dictionary):

if not isinstance(dictionary, dict):
return dictionary

newDictionary = {}

for key in dictionary:
newDictionary[capitalize_key(key)] = process_name_key(dictionary[key])

return newDictionary

def capitalize_key(key):
parts = key.split('_')

newParts = []
for part in parts:
newParts.append(part.capitalize())

return ''.join(newParts)

def remove_none(dado):

if isinstance(dado, dict):
return remove_none_dict(dado)
elif isinstance(dado, list):
return remove_none_list(dado)

return dado

def remove_none_dict(obj):
retorno = {}
for chave in obj:
valor = obj[chave]
if valor or isinstance(valor, (int, long, float, complex)):
retorno[chave] = remove_none(valor)

return retorno

def remove_none_list(lista):
resposta = []
for linha in lista:
valor = remove_none(linha)
resposta.append(valor)

return resposta
2 changes: 1 addition & 1 deletion cieloApi3/request/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,6 @@ def send_request(self, method, uri, data=None, params=None):

data_send = json.loads(body or 'null')

raise Exception, '\r\n%s\r\nMethod: %s\r\nUri: %s\r\nData: %s' % (''.join(errors), method, response.url, json.dumps(data_send, indent=2))
raise Exception('\r\n%s\r\nMethod: %s\r\nUri: %s\r\nData: %s' % (''.join(errors), method, response.url, json.dumps(data_send, indent=2)))

return answers
56 changes: 56 additions & 0 deletions cieloApi3/request/base.py.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import uuid, json

from requests import Request, Session

class Base(object):

def __init__(self, merchant):

self.merchant = merchant

def send_request(self, method, uri, data=None, params=None):

s = Session()

body = data

headers = {
'User-Agent': "CieloEcommerce/3.0 Python SDK",
'RequestId': str(uuid.uuid4()),
'MerchantId': self.merchant.id,
'MerchantKey': self.merchant.key
}

if not body:
headers['Content-Length'] = '0'
else:
headers["Content-Type"] = "application/json"

if not isinstance(data, dict):
body = body.toJSON()

req = Request(method, uri, data=body, headers=headers, params=params)

prep = s.prepare_request(req)

response = s.send(prep)

if 'json' in response.headers['Content-Type'].lower():
answers = response.json()
else:
answers = [{
'Code': str(response.status_code),
'Message': response.text
}]

if response.status_code >= 400:
errors = []

for answer in answers:
errors.append('\r\n * [%s] %s\r\n' % (answer['Code'], answer['Message']))

data_send = json.loads(body or 'null')

raise Exception, '\r\n%s\r\nMethod: %s\r\nUri: %s\r\nData: %s' % (''.join(errors), method, response.url, json.dumps(data_send, indent=2))

return answers
14 changes: 7 additions & 7 deletions example/saleBoletoComplete.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,18 @@

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'
print('----------------------response_create_sale----------------------')
print(json.dumps(response_create_sale, indent=2))
print('----------------------response_create_sale----------------------')

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
payment_id = sale.payment.payment_id

# Com o ID do pagamento, podemos fazer uma consulta do pagamento
response_get_sale = cielo_ecommerce.get_sale(payment_id)
print '----------------------response_get_sale----------------------'
print json.dumps(response_get_sale, indent=2)
print '----------------------response_get_sale----------------------'
print('----------------------response_get_sale----------------------')
print(json.dumps(response_get_sale, indent=2))
print('----------------------response_get_sale----------------------')

print '\r\nLink Boleto:', sale.payment.url, '\r\n'
print('\r\nLink Boleto:', sale.payment.url, '\r\n')
56 changes: 56 additions & 0 deletions example/saleBoletoComplete.py.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
#-*- coding: utf-8 -*-s

import sys
sys.path.insert(0, "./")

from cieloApi3 import *

import json

# Configure o ambiente
environment = Environment(sandbox=True)

# Configure seu merchant, para gerar acesse: https://cadastrosandbox.cieloecommerce.cielo.com.br/
merchant = Merchant('MerchantId', 'MerchantKey')

# Crie uma instância de Sale informando o ID do pagamento
sale = Sale('555')

# Crie uma instância de Customer informando o nome do cliente
sale.customer = Customer('Comprador Teste')

# Crie uma instância de Payment informando o valor do pagamento
payment = Payment(15700)
payment.type = PAYMENTTYPE_BOLETO

payment.provider = PROVIDER_BANCO_DO_BRASIL
payment.address = 'Rua Alegria N: 3 Bairro: Rosa São Paulo-SP'
payment.boleto_number = '123'
payment.assignor = 'Empresa Teste'
payment.demonstrative = 'Demonstrativo Teste'
payment.expiration_date = '2017-06-11'
payment.identification = '11884926754'
payment.instructions = 'Aceitar somente até a data de vencimento, após essa data juros de 1% dia.'

sale.payment = payment

# Cria instância do controlador do ecommerce
cielo_ecommerce = CieloEcommerce(merchant, environment)

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
payment_id = sale.payment.payment_id

# Com o ID do pagamento, podemos fazer uma consulta do pagamento
response_get_sale = cielo_ecommerce.get_sale(payment_id)
print '----------------------response_get_sale----------------------'
print json.dumps(response_get_sale, indent=2)
print '----------------------response_get_sale----------------------'

print '\r\nLink Boleto:', sale.payment.url, '\r\n'
14 changes: 7 additions & 7 deletions example/saleBoletoSimple.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,18 +30,18 @@

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'
print('----------------------response_create_sale----------------------')
print(json.dumps(response_create_sale, indent=2))
print('----------------------response_create_sale----------------------')

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
payment_id = sale.payment.payment_id

# Com o ID do pagamento, podemos fazer uma consulta do pagamento
response_get_sale = cielo_ecommerce.get_sale(payment_id)
print '----------------------response_get_sale----------------------'
print json.dumps(response_get_sale, indent=2)
print '----------------------response_get_sale----------------------'
print('----------------------response_get_sale----------------------')
print(json.dumps(response_get_sale, indent=2))
print('----------------------response_get_sale----------------------')

print '\r\nLink Boleto:', sale.payment.url, '\r\n'
print('\r\nLink Boleto:', sale.payment.url, '\r\n')
47 changes: 47 additions & 0 deletions example/saleBoletoSimple.py.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#-*- coding: utf-8 -*-s

import sys
sys.path.insert(0, "./")

from cieloApi3 import *

import json

# Configure o ambiente
environment = Environment(sandbox=True)

# Configure seu merchant, para gerar acesse: https://cadastrosandbox.cieloecommerce.cielo.com.br/
merchant = Merchant('MerchantId', 'MerchantKey')

# Crie uma instância de Sale informando o ID do pagamento
sale = Sale('333')

# Crie uma instância de Customer informando o nome do cliente
sale.customer = Customer('Comprador Teste')

# Crie uma instância de Payment informando o valor do pagamento
sale.payment = Payment(15700)
sale.payment.type = PAYMENTTYPE_BOLETO

sale.payment.provider = PROVIDER_BRADESCO

# Cria instância do controlador do ecommerce
cielo_ecommerce = CieloEcommerce(merchant, environment)

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
payment_id = sale.payment.payment_id

# Com o ID do pagamento, podemos fazer uma consulta do pagamento
response_get_sale = cielo_ecommerce.get_sale(payment_id)
print '----------------------response_get_sale----------------------'
print json.dumps(response_get_sale, indent=2)
print '----------------------response_get_sale----------------------'

print '\r\nLink Boleto:', sale.payment.url, '\r\n'
18 changes: 9 additions & 9 deletions example/saleCard.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'
print('----------------------response_create_sale----------------------')
print(json.dumps(response_create_sale, indent=2))
print('----------------------response_create_sale----------------------')

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
Expand All @@ -46,12 +46,12 @@
# Com o ID do pagamento, podemos fazer sua captura,
# se ela não tiver sido capturada ainda
response_capture_sale = cielo_ecommerce.capture_sale(payment_id, 15700, 0)
print '----------------------response_capture_sale----------------------'
print json.dumps(response_capture_sale, indent=2)
print '----------------------response_capture_sale----------------------'
print('----------------------response_capture_sale----------------------')
print(json.dumps(response_capture_sale, indent=2))
print('----------------------response_capture_sale----------------------')

# E também podemos fazer seu cancelamento, se for o caso
response_cancel_sale = cielo_ecommerce.cancel_sale(payment_id, 15700)
print '---------------------response_cancel_sale---------------------'
print json.dumps(response_cancel_sale, indent=2)
print '---------------------response_cancel_sale---------------------'
print('---------------------response_cancel_sale---------------------')
print(json.dumps(response_cancel_sale, indent=2))
print('---------------------response_cancel_sale---------------------')
57 changes: 57 additions & 0 deletions example/saleCard.py.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
#-*- coding: utf-8 -*-s

import sys
sys.path.insert(0, "./")

from cieloApi3 import *

import json

# Configure o ambiente
environment = Environment(sandbox=True)

# Configure seu merchant, para gerar acesse: https://cadastrosandbox.cieloecommerce.cielo.com.br/
merchant = Merchant('MerchantId', 'MerchantKey')

# Crie uma instância de Sale informando o ID do pagamento
sale = Sale('123')

# Crie uma instância de Customer informando o nome do cliente
sale.customer = Customer('Fulano de Tal')

# Crie uma instância de Credit Card utilizando os dados de teste
# esses dados estão disponíveis no manual de integração
credit_card = CreditCard('123', 'Visa')
credit_card.expiration_date = '12/2018'
credit_card.card_number = '0000000000000001'
credit_card.holder = 'Fulano de Tal'

# Crie uma instância de Payment informando o valor do pagamento
sale.payment = Payment(15700)
sale.payment.credit_card = credit_card

# Cria instância do controlador do ecommerce
cielo_ecommerce = CieloEcommerce(merchant, environment)

# Criar a venda e imprime o retorno
response_create_sale = cielo_ecommerce.create_sale(sale)
print '----------------------response_create_sale----------------------'
print json.dumps(response_create_sale, indent=2)
print '----------------------response_create_sale----------------------'

# Com a venda criada na Cielo, já temos o ID do pagamento, TID e demais
# dados retornados pela Cielo
payment_id = sale.payment.payment_id

# Com o ID do pagamento, podemos fazer sua captura,
# se ela não tiver sido capturada ainda
response_capture_sale = cielo_ecommerce.capture_sale(payment_id, 15700, 0)
print '----------------------response_capture_sale----------------------'
print json.dumps(response_capture_sale, indent=2)
print '----------------------response_capture_sale----------------------'

# E também podemos fazer seu cancelamento, se for o caso
response_cancel_sale = cielo_ecommerce.cancel_sale(payment_id, 15700)
print '---------------------response_cancel_sale---------------------'
print json.dumps(response_cancel_sale, indent=2)
print '---------------------response_cancel_sale---------------------'
Loading