All Projects → BoletoSimples → boletosimples-ruby

BoletoSimples / boletosimples-ruby

Licence: MIT license
Biblioteca Ruby para API da Kobana

Programming Languages

ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to boletosimples-ruby

boletosimples-docs
Documentação da API do Boleto Simples - Sistema para emissão de boletos com registro
Stars: ✭ 23 (+53.33%)
Mutual labels:  boleto, cnab, boletos, boletos-registrados
bbboletowebservice
Cliente WebService em PHP para registro de boletos no Banco do Brasil (BB)
Stars: ✭ 27 (+80%)
Mutual labels:  boleto, boletos-registrados
boletobr
Geração de Boleto Bancário e Remessa, Leitura de Retorno compatível com .NET versão 4.5 e posteriores.
Stars: ✭ 47 (+213.33%)
Mutual labels:  boletos-registrados, boletosimples
obp-apis
OpenBankingProject.ch Community APIs
Stars: ✭ 18 (+20%)
Mutual labels:  openbanking
gerar-boletos
Biblioteca em Node.js para geração de boletos utilizando PDFKit.
Stars: ✭ 81 (+440%)
Mutual labels:  boletos
boleto
Billet generator for several Brazilian Banks for golang
Stars: ✭ 13 (-13.33%)
Mutual labels:  boleto
pjbank-js-sdk
PJBank SDK para Javascript! ⚡ ⚡ ⚡
Stars: ✭ 24 (+60%)
Mutual labels:  boletos-registrados
gocnab
CNAB (Un)Marshaler
Stars: ✭ 20 (+33.33%)
Mutual labels:  cnab
JasperPHP-OpenBoleto
Um exemplo de uso de openboleto/openboleto em conjunto com QuilhaSoft/JasperPHP
Stars: ✭ 24 (+60%)
Mutual labels:  boleto
how-to-spring-boot
Tutorial de como criar uma API Rest com SpringBoot e H2
Stars: ✭ 22 (+46.67%)
Mutual labels:  banco
bradesco-boleto-registro
Sistema de registro online de boletos do Bradesco
Stars: ✭ 23 (+53.33%)
Mutual labels:  boleto
gn-api-sdk-node
SDK em NodeJS integrada a API Gerencianet. Esta SDK está preparada para integração à API Pix e API Boletos da Gerencianet, que lhe permite realizar o gerenciamento de cobranças Pix com QR Code e Pix Copia e Cola, boleto/Bolix, carnê, cartão de crédito e muito mais.
Stars: ✭ 33 (+120%)
Mutual labels:  boleto
WSBoletoSantander
WS Boletos Santander são classes criadas para facilitar a integração entre aplicativos feitos em PHP e a geração de boletos online no banco Santander.
Stars: ✭ 43 (+186.67%)
Mutual labels:  boleto
pycnab
Python library for manipulating Cloud Native Application Bundles
Stars: ✭ 17 (+13.33%)
Mutual labels:  cnab
signy
Go implementation for CNAB content trust verification using TUF, Notary, and in-toto
Stars: ✭ 28 (+86.67%)
Mutual labels:  cnab
azure-cnab-quickstarts
CNAB packages to deploy applications from Azure to anywhere at all. Including Azure.
Stars: ✭ 48 (+220%)
Mutual labels:  cnab
smart-cnab
A package for general manipulation of CNAB files, generation of remittances and parsing of returns using a normalized fields structure.
Stars: ✭ 11 (-26.67%)
Mutual labels:  cnab
go-stone-openbank
A Go library to connect with Stone Open Banking API
Stars: ✭ 31 (+106.67%)
Mutual labels:  openbank

Boleto Simples Ruby

Gem Version Ruby

Biblioteca Ruby para acessar informações da Kobana através da API.

Instalação

Adicione a linha a baixo no seu Gemfile:

gem 'boletosimples'

Execute:

$ bundle install

Ou instale você mesmo:

$ gem install boletosimples

Configuração

Saiba mais sobre o Token de API

require 'boletosimples'

BoletoSimples.configure do |c|
  c.environment = :production # defaut :sandbox
  # production - https://app.kobana.com.br/conta/api/tokens
  # sandbox - https://app-sandbox.kobana.com.br/conta/api/tokens
  c.api_token = 'api-token'
  c.user_agent = '[email protected]' #Colocar um e-mail válido para contatos técnicos relacionado ao uso da API.
  # c.debug = true
  # c.custom_headers = { 'X-CUSTOM' => 'CONTENT' }
end

Variáveis de ambiente

Você também pode configurar as variáveis de ambiente a seguir e não será necessário chamar BoletoSimples.configure

ENV['BOLETOSIMPLES_ENV']
ENV['BOLETOSIMPLES_API_TOKEN']
ENV['BOLETOSIMPLES_DEBUG']

Configurando cache

É altamente recomendável utilizar o cache para evitar chegar no limite de requisições

Para isso recomendamos a utilização da gem Dalli

Exemplo:

  require 'dalli'

  BoletoSimples.configure do |c|
    c.cache = ActiveSupport::Cache.lookup_store(:mem_cache_store, ['localhost:11211'],
                                              namespace: 'boletosimples_client',
                                              compress: true)
  end

Exemplos

Boletos Bancários

# Criar um boleto
@bank_billet = BoletoSimples::BankBillet.create(
  amount: 9.01,
  description: 'Despesas do contrato 0012',
  expire_at: '2014-01-01',
  customer_address: 'Rua quinhentos',
  customer_address_complement: 'Sala 4',
  customer_address_number: '111',
  customer_city_name: 'Rio de Janeiro',
  customer_cnpj_cpf: '012.345.678-90',
  customer_email: '[email protected]',
  customer_neighborhood: 'Sao Francisco',
  customer_person_name: 'Joao da Silva',
  customer_person_type: 'individual',
  customer_phone_number: '2112123434',
  customer_state: 'RJ',
  customer_zipcode: '12312-123'
)

# Criar um novo boleto instanciando o objeto
@bank_billet = BoletoSimples::BankBillet.new(amount: 199.99, expire_at: '2020-01-01')
@bank_billet.description = 'Cobrança XPTO'
@bank_billet.save

# Mensagens de erro na criação do boleto
@bank_billet = BoletoSimples::BankBillet.create(amount: 199.99)
@bank_billet.response_errors
  # {:expire_at=>["não pode ficar em branco", "não é uma data válida"], :customer_person_name=>["não pode ficar em branco"], :customer_cnpj_cpf=>["não pode ficar em branco", "não é um CPNJ ou CPF válido"], :description=>["não pode ficar em branco"], :customer_zipcode=>["não pode ficar em branco"]

# Pegar informações de um boleto
@bank_billet = BoletoSimples::BankBillet.find(1) # onde 1 é o id do boleto.

 # Se o não for encontrado nenhum boleto com o id informado, uma exceção será levantada com a mensagem:
 # Couldn't find BankBillet with 'id'=1

# Listar os boletos
@bank_billets = BoletoSimples::BankBillet.all(page: 1, per_page: 50)
@bank_billets.each do |bank_billet|
  puts bank_billet.attributes
end

# Cancelar um boleto
@bank_billet = BoletoSimples::BankBillet.cancel(id: 1)

Clientes

# Criar um cliente
@customer = BoletoSimples::Customer.create(
  person_name: "Joao da Silva",
  cnpj_cpf: "012.345.678-90",
  email: "[email protected]",
  address: "Rua quinhentos",
  city_name: "Rio de Janeiro",
  state: "RJ",
  neighborhood: "bairro",
  zipcode: "12312-123",
  address_number: "111",
  address_complement: "Sala 4",
  phone_number: "2112123434"
)

# Mensagens de erro na criação do cliente
@customer = BoletoSimples::Customer.new(person_name: '')
@customer.response_errors
  # {:person_name=>["não pode ficar em branco"], :cnpj_cpf=>["não pode ficar em branco"], :zipcode=>["não pode ficar em branco"]}

# Listar os clientes
@customers = BoletoSimples::Customer.all(page: 1, per_page: 50)
@customers.each do |customer|
  puts customer.attributes
end

# Atualizar um cliente
@customer = BoletoSimples::Customer.find(1)
@customer.person_name = 'Novo nome'
@customer.save
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].