add README
This commit is contained in:
parent
6092541f5d
commit
b4c07b8c91
78
README.md
Normal file
78
README.md
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
# P2Pix<>BBPay oracle backend
|
||||||
|
|
||||||
|
## Variáveis de ambiente necessárias no arquivo `.env`:
|
||||||
|
|
||||||
|
- `BB_CLIENT_ID`,
|
||||||
|
`BB_CLIENT_SECRET`, e
|
||||||
|
`DEV_APP_KEY`: Fornecidas pelo Bando 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:
|
||||||
|
- `nomeParticipante`
|
||||||
|
- `tipoDocumento`
|
||||||
|
- `numeroDocumento`
|
||||||
|
- `numeroConta`
|
||||||
|
- `tipoConta`
|
||||||
|
|
||||||
|
``` exemplo
|
||||||
|
curl --request POST \
|
||||||
|
--url http://localhost:5000/register \
|
||||||
|
--header 'content-type: application/json' \
|
||||||
|
--data '{
|
||||||
|
"nomeParticipante": "João Silva",
|
||||||
|
"tipoDocumento": 1,
|
||||||
|
"numeroDocumento": 12345678900,
|
||||||
|
"numeroConta": 1234567890123456,
|
||||||
|
"numeroAgencia": 123,
|
||||||
|
"tipoConta": 1
|
||||||
|
}'
|
||||||
|
```
|
||||||
|
#### 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
|
||||||
|
``` exemplo
|
||||||
|
curl http://localhost:5000/release/123
|
||||||
|
```
|
||||||
|
#### Retorna em formato JSON:
|
||||||
|
- `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/
|
Loading…
x
Reference in New Issue
Block a user