Sicredi - Exemplos Básicos
Este guia mostra como usar a pypix-api com o Sicredi para realizar operações PIX.
Configuração Inicial
Para usar a API do Sicredi, você precisa:
Ter conta em cooperativa do Sistema Sicredi
Solicitar acesso à API PIX no seu gerente/canal de desenvolvedores
Obter as credenciais de API (
client_ideclient_secret)Baixar o certificado digital (.pfx/.p12)
Note
O Sicredi difere do BB e do Sicoob em dois pontos:
Autenticação HTTP Basic: o token é solicitado com
Authorization: Basic base64(client_id:client_secret), então oclient_secreté obrigatório noOAuth2Client.Versionamento por recurso: a
BASE_URLaponta para a raiz/apie a versão de cada endpoint (v1/v2/v3) é resolvida internamente pelaSicrediPixAPI.
Configuração Básica
import os
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.sicredi import SicrediPixAPI
# Configure as credenciais (client_secret é obrigatório no Sicredi)
oauth_client = OAuth2Client(
token_url=SicrediPixAPI.TOKEN_URL,
client_id=os.getenv('SICREDI_CLIENT_ID'),
client_secret=os.getenv('SICREDI_CLIENT_SECRET'),
cert_pfx=os.getenv('SICREDI_CERT_PFX'),
pwd_pfx=os.getenv('SICREDI_CERT_PASSWORD'),
)
# Crie a instância da API
api = SicrediPixAPI(oauth=oauth_client)
Note
Para testar no ambiente de homologação do Sicredi, use
token_url=SicrediPixAPI.SANDBOX_TOKEN_URL (que aponta para a raiz de
homologação) mantendo o certificado — o fluxo real de homologação usa mTLS, e
não o sandbox_mode (token fixo) da biblioteca.
Criando uma Cobrança Simples
import uuid
def criar_cobranca_sicredi():
"""Cria uma cobrança PIX imediata no Sicredi."""
txid = str(uuid.uuid4())
cobranca = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '12345678909',
'nome': 'Francisco da Silva'
},
'valor': {
'original': '37.00'
},
'chave': '5f84a4c5-c5cb-4599-9f13-7eb4d419dacc',
'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 Sicredi."""
import os
import uuid
from pypix_api.auth.oauth2 import OAuth2Client
from pypix_api.banks.sicredi import SicrediPixAPI
def main():
"""Fluxo completo com Sicredi."""
oauth_client = OAuth2Client(
token_url=SicrediPixAPI.TOKEN_URL,
client_id=os.getenv('SICREDI_CLIENT_ID'),
client_secret=os.getenv('SICREDI_CLIENT_SECRET'),
cert_pfx=os.getenv('SICREDI_CERT_PFX'),
pwd_pfx=os.getenv('SICREDI_CERT_PASSWORD'),
)
api = SicrediPixAPI(oauth=oauth_client)
txid = str(uuid.uuid4())
cobranca = {
'calendario': {'expiracao': 3600},
'devedor': {
'cpf': '12345678909',
'nome': 'Cooperado Teste'
},
'valor': {'original': '75.50'},
'chave': '5f84a4c5-c5cb-4599-9f13-7eb4d419dacc',
'solicitacaoPagador': 'Teste API Sicredi'
}
resultado = api.criar_cob(txid, cobranca)
print(f"✅ Cobrança criada: {resultado['txid']}")
if __name__ == '__main__':
main()
Variáveis de Ambiente
# Sicredi - Configuração
SICREDI_CLIENT_ID=your_sicredi_client_id
SICREDI_CLIENT_SECRET=your_sicredi_client_secret
SICREDI_CERT_PFX=/path/to/sicredi/certificate.pfx
SICREDI_CERT_PASSWORD=your_sicredi_cert_password