P2Pix ITP oracle backend
Variáveis de ambiente necessárias no arquivo .env:
-
BB_CLIENT_ID,BB_CLIENT_SECRET, eDEV_APP_KEY: Fornecidas pelo Banco do Brasil -
PRIVATE_KEY: Chave privada Ethereum (em formato hexadecimal com prefixo '0x') que vai assinar as liberações de pagamento)
Endpoints
POST /register
Registra um participante.
Chamado pelo vendedor antes de fazer deposit no smart contract.
Parametros requeridos:
chainIDtipoDocumentonumeroDocumentonumeroContatipoContacodigoIspb
curl --request POST \
--url http://localhost:5000/register \
--header 'content-type: application/json' \
--data '{
"chainID": "1337",
"tipoDocumento": 1,
"numeroDocumento": 12345678900,
"numeroConta": 1234567890123456,
"numeroAgencia": 123,
"tipoConta": 1,
"codigoIspb": 0
}'
Retorna em formato JSON:
numeroParticipante(usado nodepositdo SC comopixTarget)
POST /request
Solicitação de Pagamento
Chamado pelo comprador após o lock no smart contract.
Parametros requeridos:
amountpixTarget
curl -X POST http://localhost:5000/request \
-H "Content-Type: application/json" \
-d '{
"amount": 100.00,
"pixTarget": 123
}'
Retorna em formato JSON:
numeroSolicitacao: usado para chamar/releasedepoistextoQrCode: usado para gerar o QR PIX
GET /release/{numeroSolicitacao}
Liberação de Pagamento
Chamado pelo comprador após pagar o Pix
curl http://localhost:5000/release/123
Retorna em formato JSON:
chainid-pixTargetamount: valor em weipixTimestampsignature: assinatura ethereum compatível
Observações
- O ambiente de produção requer autenticação mTLS
- Para ambiente de desenvolvimento use
DEBUG=true - Em produção, o servidor usa Waitress como servidor WSGI
- Para mais informações, consulte a documentação oficial: https://developers.bb.com.br/
Description
Languages
Python
100%