PJBank SDK para Ruby!
Adicione a linha abaixo ao Gemfile de sua applicação:
gem 'pjbank', '~> 0.1.0'
Em seguida execute:
$ bundle install
Ou instale diretamente:
$ gem install pjbank
Use PJBank.configure
para fazer o setup do seu ambiente, podendo ser adicionado à um arquivo nos initilizers de sua
app Rails.
require 'pjbank'
PJBank.configure do |config|
# Define o ambiente em que serão feitas as requisições. O valor padrão
# é "production". Pode ser definido como "production" ou qualquer outro
# valor. Caso não seja "production" será utilizado o ambiente sandbox.
config.env = Rails.env
# Define o header User-Agent das requisições. O valor padrão
# é "pjbank-ruby-sdk/<versão>".
config.user_agent = "minha app/versão"
end
Para realizar chamadas, instancie um client (PJBank::Client
), e chame os métodos desejados:
Recebimentos (para quem não tem conta digital)
- boleto
- credenciamento
- emitir
- cancelar
- impressao: normal, carne
- transacoes: todas, liquidadas, filtradas por data, paginadas
- cartao
- credenciamento
- tokenizar
- emitir: usando token, usando dados do cartão
- cancelar
- transacoes: todas, liquidadas, filtradas por data, paginadas
# Exemplo de como realizar um credenciamento, para começar a receber com boleto bancário:
client = PJBank::Client.new
response = client.recebimentos.boleto.credenciamento(
nome_empresa: "Exemplo Conta Digital",
conta_repasse: "99999-9",
agencia_repasse: "00001",
banco_repasse: "001",
cnpj: "06949753000124",
ddd: "19",
telefone: "987652345",
email: "api@pjbank.com.br"
)
# Exemplo de como imprimir boletos:
client = PJBank::Client.new(
credencial: "d3418668b85cea70aa28965eafaf927cd34d004c",
chave: "46e79d6d5161336afa7b98f01236efacf5d0f24b")
response = client.recebimentos.boleto.impressao(pedido_numero: ["89722"])
response.status # 200
response.linkBoleto # "https://api.pjbank.com.br/boletos/lotes/abc4b7b017a47d9a345f273e89618ee6319ee308"
# Exemplo de como tokenizar um cartão de crédito:
client = PJBank::Client.new(
credencial: "1264e7bea04bb1c24b07ace759f64a1bd65c8560",
chave: "ef947cf5867488f744b82744dd3a8fc4852e529f")
response = client.recebimento.cartao.tokenizar(
nome_cartao: "Cliente Exemplo",
numero_cartao: "4318148832046011",
mes_vencimento: "01",
ano_vencimento: "2019",
cpf_cartao: "24322121004",
email_cartao: "api@pjbank.com.br",
celular_cartao: "978456723",
codigo_cvv: "155"
)
Quando ocorrer um timeout, será levantado o erro PJBank::RequestTimeout
.
Outros erros, levantam um erro PJBank::RequestError
que responde aos métodos code
, message
e body
.