Sicoob - Exemplos Básicos
Este guia mostra como usar a pypix-api com o Sicoob para realizar operações PIX.
Configuração Inicial
Para usar a API do Sicoob, você precisa:
Ter conta em cooperativa do Sistema Sicoob
Solicitar acesso à API PIX no seu gerente
Obter as credenciais de API (client_id, client_secret)
Baixar o certificado digital .p12
Configuração Básica
import os
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.sicoob import SicoobPixAPI
# Configure as credenciais
oauth_client = OAuth2Client(
client_id=os.getenv('SICOOB_CLIENT_ID'),
client_secret=os.getenv('SICOOB_CLIENT_SECRET'),
cert_path=os.getenv('SICOOB_CERT_PATH'),
cert_password=os.getenv('SICOOB_CERT_PASSWORD'),
scope='cob.write cob.read cobv.write cobv.read pix.read pix.write'
)
# Crie a instância da API
api = SicoobPixAPI(oauth=oauth_client, sandbox_mode=True)
Criando uma Cobrança Simples
import uuid
def criar_cobranca_sicoob():
"""Cria uma cobrança PIX no Sicoob."""
txid = str(uuid.uuid4())
cobranca = {
'calendario': {
'expiracao': 7200 # 2 horas
},
'devedor': {
'cpf': '12345678901',
'nome': 'Cliente Sicoob'
},
'valor': {
'original': '150.00'
},
'chave': 'cooperado@sicoob.com.br',
'solicitacaoPagador': 'Pagamento de serviços'
}
resultado = api.criar_cob(txid, cobranca)
print(f"✅ Cobrança criada: {resultado['txid']}")
return resultado
Exemplo Completo
#!/usr/bin/env python3
"""Exemplo completo integração Sicoob."""
import os
import uuid
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.sicoob import SicoobPixAPI
def main():
"""Fluxo completo com Sicoob."""
oauth_client = OAuth2Client(
client_id=os.getenv('SICOOB_CLIENT_ID'),
client_secret=os.getenv('SICOOB_CLIENT_SECRET'),
cert_path=os.getenv('SICOOB_CERT_PATH'),
cert_password=os.getenv('SICOOB_CERT_PASSWORD'),
scope='cob.write cob.read pix.read'
)
api = SicoobPixAPI(oauth=oauth_client, sandbox_mode=True)
txid = str(uuid.uuid4())
cobranca = {
'calendario': {'expiracao': 3600},
'devedor': {
'cpf': '98765432100',
'nome': 'Cooperado Teste'
},
'valor': {'original': '75.50'},
'chave': 'cooperativa@sicoob.com.br',
'solicitacaoPagador': 'Teste API Sicoob'
}
resultado = api.criar_cob(txid, cobranca)
print(f"✅ Cobrança criada: {resultado['txid']}")
if __name__ == '__main__':
main()
Variáveis de Ambiente
# Sicoob - Configuração
SICOOB_CLIENT_ID=your_sicoob_client_id
SICOOB_CLIENT_SECRET=your_sicoob_client_secret
SICOOB_CERT_PATH=/path/to/sicoob/certificate.p12
SICOOB_CERT_PASSWORD=your_sicoob_cert_password