Pular para o conteúdo principal

Solicitação de Devolução

O conjunto de endpoints a seguir é responsável pela gestão de Solicitação de devolução.


Criar solicitação de devolução​

Endpoint para criar uma solicitação de devolução.

Apenas o participante debitado pode criar uma solicitação de devolução.

POST /dict/refunds
Requer autorização para o escopo: devolutionRequest.ind.writee


Requisição

{
"refund": {
"refundAmount": 100,
"refundDetails": "houve fraude confirmada na transação.",
"refundReason": "fraud",
"transactionId": "e9999901012341234123412345678900"
}
}

Respostas

As respostas abaixo representam Sucesso(201) e Falhas/erros do consumo.

{
"correlationId": "abcdef01-2345-6789-0123-456789012345",
"refund": {
"contestedParticipant": "99999010",
"creationTime": "2020-01-17t10:00:00.000z",
"id": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"lastModified": "2020-01-17t10:00:00.000z",
"refundAmount": 200,
"refundDetails": "transação feita através de qr code falso em boleto",
"refundReason": "fraud",
"requestingParticipant": "99999011",
"status": "open",
"transactionId": "e9999901012341234123412345678900"
},
"responseTime": 0
}

Listar solicitações de devolução​

Endpoint para obter a lista de solicitações de devolução em que o participante é parte.

Lista é ordenada de forma crescente pelo campo LastModified.

GET /dict/refunds
Requer autorização para o escopo: devolutionRequest.ind.read


Requisição

Este endpoint permite o uso de query params em sua execução. O exemplo de código abaixo ilustra como consumir o endpoint com alguns dos parâmetros disponíveis, que são opcionais.

/dict/refunds?includeIndirectParticipants=false&status=open

Respostas

As respostas abaixo representam Sucesso(200) e Falhas/erros do consumo.

{
"correlationId": "abcdef01-2345-6789-0123-456789012345",
"hasMoreElements": true,
"refunds": [
{
"analysisDetails": "valor totalmente extornado.",
"analysisResult": "totally_accepted",
"contestedParticipant": "99999010",
"creationTime": "2020-01-17t10:00:00.000z",
"id": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"lastModified": "2020-01-17t10:00:00.000z",
"refundAmount": 200,
"refundDetails": "transação feita através de qr code falso em boleto",
"refundReason": "fraud",
"refundTransactionId": "d9999901012341234123412345678900",
"requestingParticipant": "99999011",
"status": "closed",
"transactionId": "e9999901012341234123412345678900"
}
],
"responseTime": 0
}

Consultar solicitação de devolução​

Endpoint para obter detalhes de uma solicitação de devolução.

GET /dict/refunds/:refundId
Requer autorização para o escopo: devolutionRequest.ind.read


Requisição

A requisição enviada para esse endpoint não precisa de um body, apenas os cabeçalhos de autorização OAuth, parâmetros e o certificado da conta.

Respostas

As respostas abaixo representam Sucesso(200) e Falhas/erros do consumo.

{
"correlationId": "abcdef01-2345-6789-0123-456789012345",
"refund": {
"contestedParticipant": "99999010",
"creationTime": "2020-01-17t10:00:00.000z",
"id": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"lastModified": "2020-01-17t10:00:00.000z",
"refundAmount": 200,
"refundDetails": "transação feita através de qr code falso em boleto",
"refundReason": "fraud",
"requestingParticipant": "99999011",
"status": "open",
"transactionId": "e9999901012341234123412345678900"
},
"responseTime": 0
}

Cancelar solicitação de devolução​

Endpoint para cancelar a solicitação de devolução.

Só pode ser realizada pelo participante que criou a solicitação.

Uma solicitação de devolução não pode ser cancelada após ter sido fechada.

Idempotência

A operação é idempotente. Caso a solicitação já tenha sido cancelada com os mesmos parâmetros, será retornada resposta equivalente à primeira requisição.

POST /dict/refunds/:refundId/cancel
Requer autorização para o escopo: devolutionRequest.ind.write


Requisição

{
"refundId": "91d65e98-97c0-4b0f-b577-73625da1f9fc"
}

Respostas

As respostas abaixo representam Sucesso(200) e Falhas/erros do consumo.

{
"correlationId": "abcdef01-2345-6789-0123-456789012345",
"refund": {
"contestedParticipant": "99999010",
"creationTime": "2020-01-17t10:00:00.000z",
"id": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"lastModified": "2020-01-17t10:00:00.000z",
"refundAmount": 200,
"refundDetails": "transação feita através de qr code falso em boleto",
"refundReason": "fraud",
"requestingParticipant": "99999011",
"status": "cancelled",
"transactionId": "e9999901012341234123412345678900"
},
"responseTime": 0
}

Fechar solicitação de devolução​

Endpoint para fechar a solicitação de devolução.

A solicitação só pode ser fechada pelo participante contestado.

Para fechamento, o status deve ser OPEN.

Idempotência

A operação é idempotente. Caso a solicitação já tenha sido fechada com os mesmos parâmetros, será retornada resposta equivalente à primeira requisição.

POST /dict/refunds/:refundId/close
Requer autorização para o escopo: devolutionRequest.ind.write


Requisição

{
"closeRefundRequest": {
"participant": "12345678",
"refundAnalysisDetails": "valor totalmente extornado ao demandante.",
"refundAnalysisResult": "totally_accepted",
"refundId": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"refundTransactionId": "d9999901012341234123412345678900"
}
}

Respostas

As respostas abaixo representam Sucesso(200) e Falhas/erros do consumo.

{
"closeRefundResponse": {
"refund": {
"analysisDetails": "valor totalmente extornado ao demandante.",
"analysisResult": "totally_accepted",
"contestedParticipant": "99999010",
"creationTime": "2020-01-17T10:00:00.000Z",
"id": "91d65e98-97c0-4b0f-b577-73625da1f9fc",
"lastModified": "2020-01-17T10:00:00.000Z",
"refundAmount": 200,
"refundDetails": "transação feita através de qr code falso em boleto",
"refundReason": "fraud",
"requestingParticipant": "99999011",
"status": "closed",
"transactionId": "e9999901012341234123412345678900"
}
},
"correlationId": "abcdef01-2345-6789-0123-456789012345",
"responseTime": 0
}