1
0

P2Pix ITP oracle backend

Variáveis de ambiente necessárias no arquivo .env:

  • BB_CLIENT_ID, BB_CLIENT_SECRET, e DEV_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:

  • chainID
  • tipoDocumento
  • numeroDocumento
  • numeroConta
  • tipoConta
  • codigoIspb
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 no deposit do SC como pixTarget)

POST /request

Solicitação de Pagamento

Chamado pelo comprador após o lock no smart contract.

Parametros requeridos:

  • amount
  • pixTarget
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 /release depois
  • textoQrCode: 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-pixTarget
  • amount: valor em wei
  • pixTimestamp
  • signature: 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
No description provided
Readme 63 KiB
Languages
Python 100%