Criação recuperação de valores
A criação de recuperação de valores deverá ser usado para casos onde o seu cliente pagou algum pix de forma fraudulenta e deseja recuperar esse valor. A recuperação de valores permite devolver à vítima recursos desviados em fraudes e golpes. Esse processo envolve o rastreamento de transações, bloqueio de saldos, análise das transações pelos recebedores e devolução dos recursos bloqueados à conta da vítima.
O participante pagador da transação fraudulenta (transação raiz) é quem deve criar a recuperação de valores da forma mais tempestiva possível.
Os estados possíveis da recuperação de valores são:
CREATED- recuperação de valores criada.
TRACKED- grafo de rastreamento de transações criado.
AWAITING_ANALYSIS- notificações de infração geradas, análise pelos participantes recebedores em andamento.
ANALYSED- notificações de infração analisadas e fechadas.
REFUNDING- processo de devolução em andamento.
COMPLETED- recuperação de valores finalizada.
CANCELLED- recuperação de valores cancelada.
Ao criar uma recuperação de valores (CREATED), uma notificação de infração para a transação raiz é imediatamente gerada. Dependendo de características da transação, a recuperação de valores poderá envolver o rastreamento de transações (MED 2.0) ou seguir para a fase de análise.
O fluxo é automatizado, o rastreamento e o bloqueio utilizam um algoritmo padrão de priorização e são comandados automaticamente pelo DICT, tudo orquestrado via Banco Central.
O rastreamento envolve a criação de um grafo de rastreamento das transações (TRACKED) e a priorização dos caminhos para bloqueio de saldos.
Quando o bloqueio é comandado, são geradas notificações de infração para as transações suspeitas de fraude (AWAITING_ANALYSIS). Ao receber uma notificação, o participante deve bloquear o saldo e analisar a transação notificada.
Após a análise de todas as notificações (ANALYSED), o criador pode iniciar a devolução, que é sempre comandada por ele, independentemente do fluxo escolhido. Após o início da devolução (REFUNDING), a recuperação de valores não pode ser cancelada.
A recuperação de valores é finalizada (COMPLETED) quando todas as solicitações de devolução geradas forem fechadas.
Conforme regra do BCB, uma transação será elegível ao rastreio além da transação raiz , via MED 2.0 se:
(i) possuir valor igual ou superior a R$ 200,00; e
(ii) tiver sido liquidada dentro de 10 dias corridos antes da data de acionamento do MED.
Caso não seja atendido esses critérios mínimos, será limitado apenas a transação raiz.
Abaixo é mostrado como deve ser criado uma recuperação de valores via API.
Cria uma recuperação de valores
Exemplo de request body [POST] /funds-recovery
{
"flowType":"AUTOMATED",
"rootEndToEnd":"E9999901012341234123412345678900",
"situationType":"SCAM",
"reportDetails":"Transação feita através de QR Code falso em boleto",
"contactInformation":{
"email":"[email protected]",
"phone":"+5561988887777"
},
"trackingGraphParameters ":{
"minTransactionAmount":200.00,
"maxTransactions":500,
"hopWindow":"PT24H",
"maxHops":10
}
}Response de sucesso
{
"status": 200,
"version": "string",
"body":{
"fundsRecoveryId":"ca1b9c01-ff9e-4a58-90ab-d31512e15ce0",
"status":"AWAITING_ANALYSIS",
"flowType":"AUTOMATED|INTERACTIVE",
"rootEndToEnd":"E9999901012341234123412345678900",
"situationType":"SCAM",
"reportDetails":"Transação feita através de QR Code falso em boleto",
"contactInformation":{
"email":"[email protected]",
"phone":"+5561988887777"
},
"creationTime":"2020-01-17T10:00:00.000Z",
"lastModified":"2020-01-17T10:00:00.000Z",
"trackingGraph":{
"minTransactionAmount":200.00,
"maxTransactions":500,
"hopWindow":"PT24H",
"maxHops":10
}
}
}resposta de erro
{
"status": 400,
"version": "string",
"error": {
"errorCode": "string",
"message": "string"
}
}Erros possíveis ao criar uma recuperação de valores
FundsRecoveryInvalid- Recuperação de valores inválida
FundsRecoveryForTransactionAlreadyExists- Recuperação de valores já existente
FundsRecoveryTransactionNotEligibleTransação não elegível a recuperação de valores
FundsRecoveryTrackingGraphParameterInvalid- Parâmetros inválidos do grafo para recuperação de valores
FundsRecoveryTransactionNotIndexed- Caso a transação tenha sido liquidada recentemente, há a possibilidade de ela não ter sido indexada no momento da criação da recuperação de valores. Nesse cenário, deve ser feita uma nova tentativa após algum tempo.
FundsRecoveryTrackingTimeout- Caso o fluxo seja AUTOMATED, há possibilidade de ocorrência de timeout no rastreamento. Nesse cenário, deve ser feita nova tentativa, ajustando os parâmetros de geração do grafo de rastreamento com valores mais conservadores.
Tabela de apoio
| campo | obrigatoriedade | tipo | padrão / Enum / Detalhes | descrição |
|---|---|---|---|---|
| flowType | Obrigatório | string | Enum: "AUTOMATED" | Tipo de fluxo de trabalho. |
| rootEndToEnd | Obrigatório | string | (32 caracteres alfanuméricos) | Transação Raiz reportada como fraudulenta. |
| situationType | Obrigatório | string | Enum: "SCAM", "ACCOUNT_TAKEOVER", "COERCION", "FRAUDULENT_ACCESS", "OTHER", "UNKNOWN" | Tipo de situação que deu origem à Recuperação de Valores. |
| reportDetails | Opcional | string | Max. 2000 caracteres. Obrigatório se situationType = "OTHER". | Detalhes para ajudar na análise do PSP contraparte. |
| contactInformation | Obrigatório | object | - | Informações de contato do PSP participante criador do registro. |
| trackingGraphParameters | Opcional | object | Não deve ser preenchido se FlowType = "INTERACTIVE". | Parâmetros de geração do Grafo de Rastreamento. |
contactInformation
| campo | obrigatoriedade | tipo | Restrições/Detalhes |
|---|---|---|---|
| Obrigatório | string | Deve seguir um padrão de e-mail. E-mail para contato. | |
| phone | Obrigatório | string | Padrão: (Ex: +5511987654321). Telefone para contato. |
TrackingGraphParameters
| campo | tipo | padrão (Default) | descrição |
|---|---|---|---|
| minTransactionAmount | number | Default: "200.00" | Valor mínimo da transação para ser considerada e incluída no grafo de rastreamento. |
| maxTransactions | integer | Default: 500 | Número máximo de transações que o sistema deve rastrear. |
| hopWindow | string | Default: "PT24H" | Janela de tempo (duração) máxima permitida entre a entrada de um valor em uma conta e sua saída para ser considerada como parte do fluxo fraudulento. (PT24H = 24 horas). |
| maxHops | integer | Max: 10 / Default: 5 | Profundidade máxima do grafo de rastreamento, ou seja, quantas "camadas" de contas o dinheiro pode passar a partir da transação raiz. |
Updated 10 days ago