É possível realizar um PIX das seguintes formas:
- PIX com Chave: onde é necessário realizar uma "inicialização de pagamento" para obter as informações da chave e sua endToEndId para finalização da transação
- PIX com Banco, Agência e Conta: onde é necessário preencher todas as informações da conta.
Inicialização de pagamento
Esta funcionalidade deve ser utilizada antes da finalização do PIX com Chave.
Este endpoint vai te fornecer dados básicos relativos à chave consultada, Além disso, ele fornecerá o atributo "endToEndId" que será cobrado pelo endpoint de transferência [/v1/transfer] se você optar pelo Pix com Chave.
Inicialização de Pagamento [POST]
https://apisandbox.delbank.com.br/v1/pix/payment-initialization
As requisições de inicialização de pagamento deverão ser feitas para o endpoint:
Utilizando os headers:
Content-Type: application/json
x-delbank-api-key: Api Key
O header IdempotencyKey deverá sempre ser um identificador único, de modo que uma requisição não se repita mais de uma vez por equívoco. Recomendamos que sejam utilizados GUID ou outro identificador único que seu sistema já utilize.
A requisição para inicialização de pagamento deverá conter o seguinte corpo:
{
"key": "+5579900000000"
}
E responderá com o seguinte corpo:
{
"endToEndId": "E3822485720221129050931897409758",
"dictKey": {
"value": "+5579991177496",
"type": "PHONE"
},
"bankAccount": {
"number": "10138",
"branch": "0001",
"type": "CURRENT",
"bank": {
"name": "DELBANK",
"ispbCode": "38224857"
},
"holder": {
"document": "***883863**",
"name": "PABLO KAWAN DEVELOPER",
"type": "NATURAL"
}
}
}
Requisições malsucedidas responderão com seu respectivo código HTTP e o seguinte corpo:
{
"instance": "https://instance.com/endpoint",
"title": "Please refer to the errors property for additional details.",
"code": "KEY_NOT_FOUND",
"errors": [
"Não foi encontrado uma conta vinculada a esta chave."
]
}
Transferência via PIX
Pix com Banco, agência e conta [POST]
https://apisandbox.delbank.com.br/v1/transfers
É possível realizar um Pix sem uma Chave, basta informar os dados bancários do cliente, semelhante a uma TED. Nesse cenário, você não precisa utilizar o endpoint de Inicialização de Pagamento, basta preencher os dados do payload e enviar a quantia desejada.
Utilizando o Headers:
Content-Type: application/json
IdempotencyKey: Chave idempotência
x-delbank-api-key: Api Key
E o seguinte corpo:
{
"amount": 1.99,
"description": "pix manual 01",
"recipient": {
"number": "338535653",
"branch": "0001",
"type": "PAYMENT",
"bankCode": "18236120",
"holder": {
"name": "PABLO KAWAN DEVELOPER",
"document": "21688386319"
}
}
}
E responderá com o seguinte corpo:
Headers:
Content-Type:application/json
Body:
{
"id": "3d19f550-3a07-4cfa-8d0e-928923e3b957",
"type": "PIX_MANUAL",
"status": "DONE",
"amount": 1.99,
"createdAt": "2022-11-29T04:46:09Z",
"description": "pix manual 01",
"recipient": {
"number": "338535653",
"branch": "0001",
"type": "PAYMENT",
"holder": {
"document": "***883863**",
"name": "PABLO KAWAN DEVELOPER",
"type": "NATURAL"
},
"bank": {
"code": "18236120",
"name": "NU PAGAMENTOS S.A. - INSTITUIÇÃO DE PAGAMENTO"
}
}
}
Requisições malsucedidas responderão com seu respectivo código HTTP e o seguinte corpo:
{
"instance": "/endpoint",
"title": "Please refer to the errors property for additional details.",
"status": 400,
"errors": [
"'Documento' é um documento inválido."
]
}
Pix com chave
Pix com chave [POST]
https://apisandbox.delbank.com.br/v1/transfers
Para realização deste tipo de PIX, é necessário utilizar o endpoint de "Inicialização de Pagamento" para obter o endToEndId. Lembrando que o "endToEndId" expira e só pode ser utilizado uma única vez
Utilizando o Headers:
Content-Type: application/json
IdempotencyKey: Chave idempotência
x-delbank-api-key: Api Key
Body:
{
"amount": 0.01,
"description": "description",
"endToEndId": "E3822485720221128235033159739260"
}
E responderá com o seguinte corpo:
Headers:
Content-Type:application/json
Body:
{
"id": "3d19f550-3a07-4cfa-8d0e-928923e3b957",
"endToEndId": "E3822485720221128235033159739260",
"type": "PIX_KEY",
"status": "DONE",
"amount": 1.99,
"createdAt": "2022-11-29T04:46:09Z",
"description": "pix manual 01",
"recipient": {
"number": "338535653",
"branch": "0001",
"type": "PAYMENT",
"holder": {
"document": "***883863**",
"name": "PABLO KAWAN DEVELOPER",
"type": "NATURAL"
},
"bank": {
"code": "18236120",
"name": "NU PAGAMENTOS S.A. - INSTITUIÇÃO DE PAGAMENTO"
}
}
}
Requisições malsucedidas responderão com seu respectivo código HTTP e o seguinte corpo:
{
"instance": "/endpoint",
"title": "Please refer to the errors property for additional details.",
"status": 400,
"errors": [
"'Amount' deve ser superior a '0'."
]
}
Consultando o status
Consultando o status [GET]
https://apisandbox.delbank.com.br/v1/transfers/IdempotencyKey/status
Os endpoints acima permitem que sua aplicação envie PIX, no entanto, o status do PIX deve ser consultado com o endpoint descrito aqui. Uma vez enviado, o PIX pode retornar com 3 resultados:
Utilizando o Headers:
Content-Type:application/json
IdempotencyKey:Chave idempotência
x-delbank-api-key:Api Key
E responderá com o seguinte corpo:
Headers:
Content-Type:application/json
Body:
{
"PIX_EFFECTIVE"
}
- PIX_EFFECTIVE | O PIX foi enviado e efetivado na conta de recebedor;
- PIX_PROCESSING | O PIX ainda está sendo processado;
- PIX_ERROR | O PIX foi enviado mas um erro aconteceu.
Requisições malsucedidas responderão com seu respectivo código HTTP e o seguinte corpo:
{
"instance": "/endpoint",
"title": "Please refer to the errors property for additional details.",
"status": 400,
"errors": [
"Transação não encontrada."
]
}