Integra con tu lenguaje preferido
Librerías oficiales mantenidas por Kobana para acelerar tu integración. Código limpio, bien documentado y listo para producción.
RubyPHPPythonNode.js

Funcionalidades Comunes
Autenticación Simple
Configura una vez y úsalo en todas las requests.
Manejo de Errores
Excepciones tipadas para cada tipo de error de la API.
Reintentos Automáticos
Auto retry con backoff exponencial para errores de red.
Paginación Fácil
Iteradores y helpers para navegar por los resultados paginados.
Tipado Completo
Definiciones TypeScript, type hints (Python), PHPDoc.
Logging Integrado
Modo debug para inspeccionar requests y responses.
SDKs Oficiales
💎
Ruby
Oficialgem install kobana# Gemfile: gem 'kobana'Configuración
require 'kobana'
Kobana.configure do |config|
config.access_token = ENV['KOBANA_ACCESS_TOKEN']
config.environment = :production # o :sandbox
endEjemplo de uso
# Crear boleto
boleto = Kobana::Charge::BankBillet.create(
amount: 150.50,
expire_at: Date.today + 30,
customer_person_name: 'Juan Pérez',
customer_cnpj_cpf: '12345678901',
description: 'Mensualidad Enero/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}" }
# Crear cobro PIX
pix = Kobana::Charge::Pix.create(
amount: 50.00,
expire_at: Date.today + 1,
message: 'Pago del servicio',
pix_account_id: 456
)
puts pix.qrcode[:emv]🐘
PHP
Oficialcomposer require kobana/kobana-php-clientConfiguración
<?php
require 'vendor/autoload.php';
use Kobana\Client;
$kobana = new Client([
'access_token' => getenv('KOBANA_ACCESS_TOKEN'),
'environment' => 'production' // o 'sandbox'
]);Ejemplo de uso
// Crear boleto
$boleto = $kobana->charge->bankBillets->create([
'amount' => 150.50,
'expire_at' => date('Y-m-d', strtotime('+30 days')),
'customer_person_name' => 'Juan Pérez',
'customer_cnpj_cpf' => '12345678901',
'description' => 'Mensualidad Enero/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";
}
// Crear cobro PIX
$pix = $kobana->charge->pix->create([
'amount' => 50.00,
'expire_at' => date('Y-m-d', strtotime('+1 day')),
'message' => 'Pago del servicio',
'pix_account_id' => 456
]);
echo $pix->qrcode->emv;🐍
Python
Oficialpip install kobanaConfiguración
from kobana import Kobana
import os
client = Kobana(
access_token=os.environ['KOBANA_ACCESS_TOKEN'],
environment='production' # o 'sandbox'
)Ejemplo de uso
from datetime import date, timedelta
# Crear boleto
boleto = client.charge.bank_billets.create(
amount=150.50,
expire_at=(date.today() + timedelta(days=30)).isoformat(),
customer_person_name='Juan Pérez',
customer_cnpj_cpf='12345678901',
description='Mensualidad Enero/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}')
# Crear cobro PIX
pix = client.charge.pix.create(
amount=50.00,
expire_at=(date.today() + timedelta(days=1)).isoformat(),
message='Pago del servicio',
pix_account_id=456
)
print(pix.qrcode.emv)🟢
Node.js
Oficialnpm install kobana# o: yarn add kobanaConfiguración
const Kobana = require('kobana');
const client = new Kobana({
accessToken: process.env.KOBANA_ACCESS_TOKEN,
environment: 'production' // o 'sandbox'
});Ejemplo de uso
// Crear 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: 'Juan Pérez',
customerCnpjCpf: '12345678901',
description: 'Mensualidad Enero/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}`);
});
// Crear cobro PIX
const pix = await client.charge.pix.create({
amount: 50.00,
expireAt: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
message: 'Pago del servicio',
pixAccountId: 456
});
console.log(pix.qrcode.emv);¿Listo para empezar?
Crea tu cuenta de sandbox y prueba la integración en minutos.
