cielo
<img src=“https://secure.travis-ci.org/crafters/cielo.png” />
Integração com a Cielo via WebServices [Buy Page Cielo / Buy Page Loja ]
Funcionalidades Implementadas
-
Criação de transação
-
Consulta de stauts de transação
-
Captura de transação
-
Cancelamento de transação
USO
gem install cielo
Ambiente de teste (Homologação)
Buy Page Loja
transaction = Cielo::Transaction.new
transaction_parameters = {
numero: "XXX",
valor: "123123",
moeda: "986",
bandeira: 'visa',
:'url-retorno' => 'http://url.retorno',
cartao_numero: '4012001037141112',
cartao_validade: '201805',
cartao_seguranca: '123',
cartao_portador: 'Lorem Ipsum Dolor'
}
transaction.create!(transaction_parameters, :store) #inicia uma nova transação
transaction.verify!("TID OF THE TRANSACTION") #verifica o status de uma transação
transaction.catch!("TID OF THE TRANSACTION") #captura a transação
transaction.cancel!("TID OF THE TRANSACTION") #cancela a transação
Buy Page Loja com token
token_request = Cielo::Token.new
token_parameters = {
:cartao_numero => '4012888888881881',
:cartao_validade => '201508',
:cartao_portador => 'Nome portador' }
}
response = token_request.create! token_parameters, :store
# O token pode ser armazenado no banco, será sempre igual para o cartão em questão
token = response[:"retorno-token"][:token][:"dados-token"][:"codigo-token"]
transaction = Cielo::Transaction.new
transaction_parameters = {
numero: "XXX",
valor: "123123",
moeda: "986",
bandeira: 'visa',
parcelas: 2,
token: token, # Esse token substitui o cartão de crédito
autorizar: 3 # Quando a transação usa token, a tag 'autorizar' precisa ser 3 ou 4
}
transaction.create!(transaction_parameters, :store) #inicia uma nova transação
Caso seja necessário fazer uma transação recorrente, basta alterar a tag autorizar para 4.
Uma transação com um o campo “gerar-token” => true, gera um token correspondente que pode ser armazenado para transações futuras.
Buy Page Cielo
transaction = Cielo::Transaction.new
transaction_parameters = {
numero: "XXX",
valor: "123123",
moeda: "986",
bandeira: 'visa',
:'url-retorno' => 'http://url.retorno',
}
transaction.create!(transaction_parameters, :cielo) #inicia uma nova transação / :cielo é padrão
transaction.verify!("TID OF THE TRANSACTION") #verifica o status de uma transação
transaction.catch!("TID OF THE TRANSACTION") #captura a transação
transaction.cancel!("TID OF THE TRANSACTION") #captura a transação
Rails
rails g cielo:install
Esse comando vai gerar um arquivo config/initializers/cielo.rb que já vem configurado para o ambiente de testes, para produção garanta que os dados estão corretos.
Outras plataformas
Se torna necessário somente configurar o módulo Cielo
Cielo.setup do |config|
config.environment = :test #:production
config.numero_afiliacao = "XXX" # fornecido pela cielo
config.chave_acesso = "XXX" # fornecido pela cielo
config.return_path = "http://path/to" # URL para onde a cielo redirecionara seu usuário após inserir os dados na cielo.
end
Avisos
-
O retorno da cielo é convertido em um hash, então, atributos no xml como url-retorno ficam :“url-retorno”, cuidado com esses detalhes.
-
Foi desenvolvido e testado em ruby 2.0.0, 1.9.3, 1.9.2 e 1.8.7
Contributing to cielo
-
Check out the latest master to make sure the feature hasn’t been implemented or the bug hasn’t been fixed yet
-
Check out the issue tracker to make sure someone already hasn’t requested it and/or contributed it
-
Fork the project
-
Start a feature/bugfix branch
-
Commit and push until you are happy with your contribution
-
Make sure to add tests for it. This is important so I don’t break it in a future version unintentionally.
-
Please try not to mess with the Rakefile, version, or history. If you want to have your own version, or is otherwise necessary, that is fine, but please isolate to its own commit so I can cherry-pick around it.
Colaboradores
-
Antônio Roberto Silva [ github.com/devton , twitter.com/dev_ton ]
-
Felipe Rodrigues [ github.com/felipero , twitter.com/felipero ]
-
Rafael Felix [ github.com/fellix , twitter.com/rs_felix ]
-
Gabriel Paladino and Scupen [github.com/gabpaladino , github.com/scupen] (Ruby 1.8.7 support)
-
Wilbert Ribeiro [github.com/wilbert/cielo, twitter.com/wilbertribeiro ]
-
Elton Okada [github.com/eltonokada, twitter.com/eltonokada ]
Copyright
Copyright © 2011 Crafters Software Studio. See LICENSE.txt for further details.