/cielo

Gem para integração com os WebServices da Cielo

Primary LanguageRubyMIT LicenseMIT

cielo

<img src=“https://secure.travis-ci.org/crafters/cielo.png” />

<img src=“https://codeclimate.com/github/crafters/cielo/badges/gpa.svg” />

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.

  • Gem testada em versões do ruby 2.0.0, 2.1.8, 2.2.4 e 2.3

  • Para usar em versões anteriores do Ruby, use versões da gem anteriores a 1.0

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

Copyright © 2011 Crafters Software Studio. See LICENSE.txt for further details.