Banco do Brasil - Exemplos Básicos
Este guia mostra como usar a pypix-api com o Banco do Brasil para realizar operações PIX.
Configuração Inicial
Primeiro, você precisa obter suas credenciais do Banco do Brasil no Portal do Desenvolvedor:
Acesse o Portal do Desenvolvedor BB
Crie uma aplicação PIX
Baixe o certificado .p12
Obtenha seu client_id e client_secret
Configuração Básica
import os
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.bb import BBPixAPI
# Configure as credenciais (prefira usar variáveis de ambiente)
oauth_client = OAuth2Client(
client_id=os.getenv('BB_CLIENT_ID'),
client_secret=os.getenv('BB_CLIENT_SECRET'),
cert_path=os.getenv('BB_CERT_PATH'), # Caminho para o arquivo .p12
cert_password=os.getenv('BB_CERT_PASSWORD'),
scope='cob.write cob.read cobv.write cobv.read pix.read pix.write'
)
# Crie a instância da API (sandbox=True para testes)
api = BBPixAPI(oauth=oauth_client, sandbox_mode=True)
Criando uma Cobrança Imediata
from decimal import Decimal
import uuid
def criar_cobranca_simples():
"""Cria uma cobrança PIX imediata simples."""
# Gera um txid único (obrigatório)
txid = str(uuid.uuid4())
# Dados da cobrança
cobranca = {
'calendario': {
'expiracao': 3600 # Expira em 1 hora
},
'devedor': {
'cpf': '12345678901', # CPF do pagador
'nome': 'João da Silva'
},
'valor': {
'original': '99.90' # Valor em string
},
'chave': 'sua-chave-pix@email.com', # Sua chave PIX
'solicitacaoPagador': 'Pagamento de produtos da loja online'
}
try:
# Cria a cobrança
resultado = api.criar_cob(txid, cobranca)
print(f"✅ Cobrança criada com sucesso!")
print(f"TxID: {resultado['txid']}")
print(f"Status: {resultado['status']}")
print(f"QR Code: {resultado['pixCopiaECola']}")
return resultado
except Exception as e:
print(f"❌ Erro ao criar cobrança: {e}")
return None
Exemplo Completo
#!/usr/bin/env python3
"""Exemplo completo de uso da pypix-api com Banco do Brasil."""
import os
import uuid
from datetime import datetime, timedelta
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.bb import BBPixAPI
def main():
"""Exemplo principal que demonstra o fluxo completo."""
# Configuração
oauth_client = OAuth2Client(
client_id=os.getenv('BB_CLIENT_ID'),
client_secret=os.getenv('BB_CLIENT_SECRET'),
cert_path=os.getenv('BB_CERT_PATH'),
cert_password=os.getenv('BB_CERT_PASSWORD'),
scope='cob.write cob.read pix.read'
)
api = BBPixAPI(oauth=oauth_client, sandbox_mode=True)
print("🏦 Conectando ao Banco do Brasil...")
# 1. Criar uma cobrança
txid = str(uuid.uuid4())
cobranca = {
'calendario': {'expiracao': 3600},
'devedor': {
'cpf': '12345678901',
'nome': 'Cliente Teste'
},
'valor': {'original': '50.00'},
'chave': 'sua-chave@email.com',
'solicitacaoPagador': 'Teste de cobrança'
}
resultado = api.criar_cob(txid, cobranca)
print(f"✅ Cobrança criada: {resultado['txid']}")
if __name__ == '__main__':
main()
Variáveis de Ambiente
Crie um arquivo .env na raiz do seu projeto:
# Banco do Brasil - Produção
BB_CLIENT_ID=your_production_client_id
BB_CLIENT_SECRET=your_production_client_secret
BB_CERT_PATH=/path/to/production/certificate.p12
BB_CERT_PASSWORD=your_certificate_password