Skip to content

pjbank/pjbank-ruby-sdk

Repository files navigation

pjbank

PJBank SDK para Ruby! ♦️ ♦️ ♦️

Construcao

Instalação

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

Uso

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)

Exemplos

# 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:           "[email protected]"
)

# 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:   "[email protected]",
  celular_cartao: "978456723",
  codigo_cvv:     "155"
)

Erros

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.