aceitaFacil
Esta gem habilita as funcionalidades da API do serviço aceitaFacil no Ruby on Rails.
Instalação
Adicione esta linha ao seu Gemfile:
gem 'aceitafacil'
Execute para instalar a gem no seu projeto:
$ bundle install
Em seguida instale o arquivo de configuração na sua aplicação:
$ rails generate aceitafacil:install
Ou instale assim:
$ gem install aceitafacil
Como utilizar
Cadastre os vendedores que receberão os pagamentos da loja em questão da seguinte forma:
@vendor = Aceitafacil::Vendor.new(id: "2", name: "Vendor name", email: "vendor@vendor.com",
bank: @bank)
@vendor.save
O id: refere-se ao ID do vendedor na base de dados da aplicação Host. O objeto @bank pode ser instanciado da seguinte forma:
@bank = Aceitafacil::Bank.new({
code: "001",
agency: "123-4",
account_type: 1, # 1 Corrent, 2 Poupança
account_number: "1234-5",
account_holder_name: "Fulano",
account_holder_document_type: 1, # 1 CPF, 2 CNPJ
account_holder_document_number: "12345678909"})
Implemente um formulário para capturar os dados do cartão de crédito. Segue um exemplo:
@card = Aceitafacil::Card.new(name: "Card Holder", number: "4012001038443335", exp_date: "201807", customer_id: "1")
@card.save
O customer_id reference ao ID do cliente no banco de dados da aplicação Host.
O método save sincroniza as informações enviadas com o servidor do aceitaFacil.
Com os dados do cartão de crédito enviados e os vendedores cadastrados você já pode efetuar um pagamento, segue um exemplo:
Recupere a instância de um vendedor na API, Ex:
@vendor = Aceitafacil::Vendor.find(2)
Instancie os items que estão sendo vendidos da seguinte forma:
@item = Aceitafacil::Item.new(amount: 10.0, vendor_id: @vendor.id, vendor_name: @vendor.name, fee_split: 1, description: "Test item", trigger_lock: false)
Recupere as informações do TOKEN do cartão de crédito, Ex:
@card = Aceitafacil::Card.find_by_customer_id(1)[0]
Faça uma requisição para efetuar o pagamento:
@payment = Payment.new(description: "Test payment", customer_id: 1, customer_name: "Fulano de Tal", customer_email: "fulano@fulanodetal.com.br", customer_email_language: "pt-BR", paymentmethod_id: 1, total_amount: 10, items: [@item], card_token: @card.token)
@payment.save
Após a chamada do método save todos os métodos abaixo deverão estar preenchidos:
@payment.id
@payment.organization_id
@payment.organization_name
@payment.paymentmethod
@payment.chargetype
@payment.payer
@payment.paid
Todos os modelos Card, Vendor, Bank, Item, Payment possuem validação no estilo ActiveRecord, ex:
@card.valid?
Se for válido retornará true, se não false e o array @card.errors será preenchido com as mensagens de erro padrão do ActiveRecord.
Contributing
- Fork it ( http://github.com/wilbert/aceitafacil/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request