0.01
No commit activity in last 3 years
No release in over 3 years
It implements Cards and Payments from aceitaFacil doc spec.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.5
= 3.1.2
= 1.3.0
= 10.3.1
= 2.14.2

Runtime

= 1.8.1
 Project Readme

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

  1. Fork it ( http://github.com/wilbert/aceitafacil/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request