Integre com sua linguagem preferida
Bibliotecas oficiais mantidas pela Kobana para acelerar sua integração. Código limpo, bem documentado e pronto para produção.
RubyPHPPythonNode.js

Funcionalidades Comuns
Autenticação Simples
Configure uma vez, use em todas as requisições.
Tratamento de Erros
Exceções tipadas para cada tipo de erro da API.
Retentativas Automáticas
Retry automático com exponential backoff para erros de rede.
Paginação Facilitada
Iteradores e helpers para navegar por resultados paginados.
Tipagem Completa
TypeScript definitions, type hints (Python), PHPDoc.
Logging Integrado
Debug mode para inspecionar requisições e respostas.
SDKs Oficiais
💎
Ruby
Oficialgem install kobana# Gemfile: gem 'kobana'Configuração
require 'kobana'
Kobana.configure do |config|
config.access_token = ENV['KOBANA_ACCESS_TOKEN']
config.environment = :production # ou :sandbox
endExemplo de uso
# Criar boleto
boleto = Kobana::Charge::BankBillet.create(
amount: 150.50,
expire_at: Date.today + 30,
customer_person_name: 'Joao da Silva',
customer_cnpj_cpf: '12345678901',
description: 'Mensalidade Janeiro/2025',
bank_billet_account_id: 123
)
puts boleto.uid
puts boleto.url
# Listar boletos
boletos = Kobana::Charge::BankBillet.all(status: 'opened', per_page: 50)
boletos.each { |b| puts "#{b.uid}: R$ #{b.amount}" }
# Criar cobrança PIX
pix = Kobana::Charge::Pix.create(
amount: 50.00,
expire_at: Date.today + 1,
message: 'Pagamento de serviços',
pix_account_id: 456
)
puts pix.qrcode[:emv]🐘
PHP
Oficialcomposer require kobana/kobana-php-clientConfiguração
<?php
require 'vendor/autoload.php';
use Kobana\Client;
$kobana = new Client([
'access_token' => getenv('KOBANA_ACCESS_TOKEN'),
'environment' => 'production' // ou 'sandbox'
]);Exemplo de uso
// Criar boleto
$boleto = $kobana->charge->bankBillets->create([
'amount' => 150.50,
'expire_at' => date('Y-m-d', strtotime('+30 days')),
'customer_person_name' => 'Joao da Silva',
'customer_cnpj_cpf' => '12345678901',
'description' => 'Mensalidade Janeiro/2025',
'bank_billet_account_id' => 123
]);
echo $boleto->uid;
echo $boleto->url;
// Listar boletos
$boletos = $kobana->charge->bankBillets->list([
'status' => 'opened',
'per_page' => 50
]);
foreach ($boletos->items as $b) {
echo "{$b->uid}: R$ {$b->amount}\n";
}
// Criar cobrança PIX
$pix = $kobana->charge->pix->create([
'amount' => 50.00,
'expire_at' => date('Y-m-d', strtotime('+1 day')),
'message' => 'Pagamento de serviços',
'pix_account_id' => 456
]);
echo $pix->qrcode->emv;🐍
Python
Oficialpip install kobanaConfiguração
from kobana import Kobana
import os
client = Kobana(
access_token=os.environ['KOBANA_ACCESS_TOKEN'],
environment='production' # ou 'sandbox'
)Exemplo de uso
from datetime import date, timedelta
# Criar boleto
boleto = client.charge.bank_billets.create(
amount=150.50,
expire_at=(date.today() + timedelta(days=30)).isoformat(),
customer_person_name='Joao da Silva',
customer_cnpj_cpf='12345678901',
description='Mensalidade Janeiro/2025',
bank_billet_account_id=123
)
print(boleto.uid)
print(boleto.url)
# Listar boletos
boletos = client.charge.bank_billets.list(status='opened', per_page=50)
for b in boletos.items:
print(f'{b.uid}: R$ {b.amount}')
# Criar cobrança PIX
pix = client.charge.pix.create(
amount=50.00,
expire_at=(date.today() + timedelta(days=1)).isoformat(),
message='Pagamento de serviços',
pix_account_id=456
)
print(pix.qrcode.emv)🟢
Node.js
Oficialnpm install kobana# ou: yarn add kobanaConfiguração
const Kobana = require('kobana');
const client = new Kobana({
accessToken: process.env.KOBANA_ACCESS_TOKEN,
environment: 'production' // ou 'sandbox'
});Exemplo de uso
// Criar boleto
const boleto = await client.charge.bankBillets.create({
amount: 150.50,
expireAt: new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString().split('T')[0],
customerPersonName: 'Joao da Silva',
customerCnpjCpf: '12345678901',
description: 'Mensalidade Janeiro/2025',
bankBilletAccountId: 123
});
console.log(boleto.uid);
console.log(boleto.url);
// Listar boletos
const boletos = await client.charge.bankBillets.list({
status: 'opened',
perPage: 50
});
boletos.items.forEach(b => {
console.log(`${b.uid}: R$ ${b.amount}`);
});
// Criar cobrança PIX
const pix = await client.charge.pix.create({
amount: 50.00,
expireAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
message: 'Pagamento de serviços',
pixAccountId: 456
});
console.log(pix.qrcode.emv);Pronto para começar?
Crie sua conta de sandbox e teste a integração em minutos.