Orientações para tratativa de consentimentos órfãos após desativação de rotação de refresh tokensGuia do Pix – Serviço de iniciação de transação de pagamento no Pix (Temporização de Transações)Esclarecimentos sobre o tamanho e comportamento do campo tr...
Sumário Regulatório
Orientações para tratativa de consentimentos órfãos após desativação de rotação de refresh tokensGuia do Pix – Serviço de iniciação de transação de pagamento no Pix (Temporização de Transações)Esclarecimentos sobre o tamanho e comportamento do campo tr...
Conteúdo do Documento
Orientações para tratativa de consentimentos órfãos após desativação de rotação de refresh tokens Conforme informado no Informa #96, foi proibida a rotação do refresh token, com estabelecimento da data limite de 29/11/2021 para adequação das instituições. Esta definição pode ter levado ao surgimento de consentimentos órfãos, ou seja, consentimentos que possuem refresh tokens inválidos dev...
<tbody class="mcnTextBlockOuter">
<tr>
<td class="mcnTextBlockInner" style="padding-top: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" valign="top">
<!--[if mso]>
<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
<tr>
<![endif]-->
<!--[if mso]>
<td valign="top" width="599" style="width:599px;">
<![endif]-->
<table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnTextContentContainer" style="max-width: 100%;min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td class="mcnTextContent" style='padding: 0px 18px 9px;font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #202020;font-size: 16px;' valign="top">
<h1 style="display: block;margin: 0;padding: 0;color: #202020;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: normal;text-align: left;"><font color="#147d96">Orientações para tratativa de consentimentos órfãos após desativação de rotação de refresh tokens</font></h1>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>Conforme informado no Informa #96, foi proibida a rotação do <em>refresh token</em>, com estabelecimento da <strong>data limite de 29/11/2021 para adequação das instituições. </strong>Esta definição pode ter levado ao surgimento de consentimentos órfãos, ou seja, consentimentos que possuem refresh tokens inválidos devido aos problemas ocasionados no passado com a rotação.<br/>
</p>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>Na 92ª reunião do Conselho Deliberativo aprovou-se um <strong>processo padrão bilateral recomendado para a tratativa desses consentimentos órfãos, incluso cronograma e prazos.</strong></p>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>Dada a desativação da rotação de <em>refresh tokens</em> em 29/11/2021, este processo será conduzido de forma pontual (uma única vez) entre as instituições para tratamento dos consentimentos órfãos estoque.</p>
<p aria-hidden="true" style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'><strong><u>Processo resumido</u></strong></p>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>Além do processo resumido abaixo, o processo todo detalhado em diagrama de sequência pode ser acessado por meio do botão ao final deste informe.</p>
<ol start="1" type="1">
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Cada Instituição participante oferece um sFTP para upload de seus consentimentos<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Cada receptora gera um par de chaves arbitrário e submete ao diretório, notifica o KID ao transmissor<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Instituição receptora gera uma listagem de CONSENT_ID com REFRESH_TOKEN órfão<br/>
<br/>
<strong>i. </strong>A listagem precisa seguir um padrão CSV com um consentimento por linha<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Instituição transmissora tem um <strong>prazo de até 10 dias úteis</strong> para geração dos<br/>
REFRESH_TOKENs correspondentes<br/>
<br/>
<strong>i. </strong>Aplica criptografia pela chave pública correspondente ao KID do diretório <strong>(obrigatório)</strong><br/>
<br/>
<strong>ii. </strong>A listagem precisa seguir um padrão CSV com um consentimento por linha e REFRESH_TOKEN separado por “ponto e vírgula“<br/>
<br/>
<strong>iii. </strong>Submete a extração ao sFTP da receptora<br/>
<br/>
<strong>iv. </strong>Receptora decriptografa o arquivo recebido e <strong>possui 2 dias úteis</strong> para confirmar recebimento à transmissora<br/>
<br/>
<strong>v. </strong>Receptora atualiza os dados em sua base.</li>
</ol>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'><strong> </strong><br/>
Importante lembrar que, como este é um processo bilateral, as instituições podem:</p>
<ul type="disc">
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Definir, entre elas, outro método de troca de arquivo<br/>
<ul type="circle">
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Em caso de não acordo entre as instituições, deve ser utilizado o sFTP ou a IF deve refazer o pedido de consentimento<br/>
</li>
</ul>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Dar início ao processo antes da data indicada, desde que acordado entre as partes e respeitados os prazos limites</li>
</ul>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'><br/>
<strong><u>Cronograma e prazos do processo</u></strong></p>
<ul type="disc">
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Início do processo: 10/01/2022<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Prazo máximo para envio do último pedido da receptora à transmissora: 27/02/2022<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><strong>Prazo máximo para o término de todo o processo: 11/03/2022</strong></li>
</ul>
<p aria-hidden="true" style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'><br/>
<strong><u>Acompanhamento do andamento do processo</u></strong></p>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>Conforme detalhado no diagrama, está previsto acompanhamento pela Estrutura do Open Banking Brasil do andamento do processo entre as instituições e estoque de consentimentos órfãos ainda sem tratamento. Uma pesquisa será enviada para este fim às Instituições participantes em dois momentos ao longo do calendário do processo (10/02/2022 e 10/03/2022).</p>
</td>
</tr>
</tbody></table>
<!--[if mso]>
</td>
<![endif]-->
<!--[if mso]>
</tr>
</table>
<![endif]-->
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnButtonBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody class="mcnButtonBlockOuter">
<tr>
<td align="center" class="mcnButtonBlockInner" style="padding-top: 0;padding-right: 18px;padding-bottom: 18px;padding-left: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" valign="top">
<table border="0" cellpadding="0" cellspacing="0" class="mcnButtonContentContainer" style="border-collapse: separate !important;border: 1px none;border-radius: 50px;background-color: #147D96;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody>
<tr>
<td align="center" class="mcnButtonContent" style="font-family: Arial;font-size: 16px;padding: 20px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" valign="middle">
<a class="mcnButton" href="https://mcusercontent.com/49f5ff8910ce85bdb1d9a7864/files/698a0220-5ce1-33c0-22bf-567bacd687fe/Informe_109.pdf" style="font-weight: bold;letter-spacing: normal;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;display: block;" target="_blank" title="Clique aqui para acessar o diagrama detalhado do processo">Clique aqui para acessar o diagrama detalhado do processo</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnDividerBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;table-layout: fixed !important;" width="100%">
<tbody class="mcnDividerBlockOuter">
<tr>
<td class="mcnDividerBlockInner" style="min-width: 100%;padding: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<table border="0" cellpadding="0" cellspacing="0" class="mcnDividerContent" style="min-width: 100%;border-top: 2px solid #FFD249;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<span></span>
</td>
</tr>
</tbody></table>
<!--
<td class="mcnDividerBlockInner" style="padding: 18px;">
<hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
-->
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody class="mcnTextBlockOuter">
<tr>
<td class="mcnTextBlockInner" style="padding-top: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" valign="top">
<!--[if mso]>
<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
<tr>
<![endif]-->
<!--[if mso]>
<td valign="top" width="599" style="width:599px;">
<![endif]-->
<table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnTextContentContainer" style="max-width: 100%;min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td class="mcnTextContent" style='padding: 0px 18px 9px;font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #202020;font-size: 16px;' valign="top">
<h1 style="display: block;margin: 0;padding: 0;color: #202020;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: normal;text-align: left;"><font color="#147d96">Guia do Pix – Serviço de iniciação de transação de pagamento no Pix (Temporização de Transações)</font></h1>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'>A respeito das orientações presentes no Guia do Pix abaixo, no item 2 da página 75, <strong>Serviço de iniciação de transação de pagamento no Pix - Recomendações e Obrigações.</strong><br/>
<br/>
<em>“O usuário pagador deve ser notificado caso a transação seja suspeita de fraude, sempre que o PSP precise utilizar o tempo adicional para análise da transação. Durante o período em que a ordem de pagamento estiver sendo analisada, o participante prestador do serviço de iniciação de pagamento deve disponibilizar, para o usuário pagador, a opção de cancelamento da transação. Por isso, o PSP deve sempre notificar o PSI nesses casos.</em><br/>
<br/>
<em>Mensagem obrigatória: Deve evidenciar que a transação precisa de um tempo adicional de análise para ser autorizada e dar a opção de cancelamento da transação.</em><br/>
<br/>
<em>Exemplos:</em><br/>
<br/>
<em>-Precisamos de 30 minutos adicionais para analisar sua transação. Deseja cancelar o Pix?</em><br/>
<br/>
<em>-Sua transação precisa de aproximadamente 60 minutos para ser autorizada. Deseja cancelar a transação?”</em> <br/>
<br/>
<strong>Sobre as orientações acima, esclarecemos:</strong></p>
<ol>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">Caso a detentora temporize uma transação, a mesma deve ser informada à iniciadora com o status PDNG até que a transação seja iniciada no arranjo<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">No caso de rejeição:<br/>
<br/>
2.1. (Assíncrona) Caso a detentora rejeite uma transação que foi temporizada a mesma deve informar à iniciadora o status <em>reject</em> com o <em>rejection reason</em> AB11 (TIMEOUT_DEBTOR_AGENT)<br/>
<br/>
A iniciadora deve interpretar esse status com a mensagem descritiva: “<em>Transação rejeitada devida análise de fraude do detentor de conta</em>”<br/>
<br/>
2.2 (Síncrona) Caso a detentora opte por rejeitar a transação devido às suas políticas de fraudes, a mesma deve informar à iniciadora o status 422 com o Code NAO_INFORMADO<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="3">Caso a decisão seja prosseguir com a transação, o fluxo continua seguindo a máquina de estados do pagamento<br/>
</li>
</ol>
<strong>Além disso, será incluído na planilha de problemas conhecidos da Fase 3, o seguinte ponto</strong>:
<ul>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>API/Sessão:</strong> API Payments / Schema EnumPaymentStatusType<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Endpoint: </strong>GET /payments/v1/pix/payments/{paymentId}<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Campo: </strong>status<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Qual o problema: </strong>A respeito das orientações presentes no Guia do Pix, no item <strong>02 da página 75, </strong>Serviço de iniciação de transação de pagamento no Pix - Recomendações e OBRIGAÇÕES<br/>
<br/>
<em>“O usuário pagador deve ser notificado caso a transação seja suspeita de fraude, sempre que o PSP precise utilizar o tempo adicional para análise da transação. Durante o período em que a ordem de pagamento estiver sendo analisada, o participante prestador do serviço de iniciação de pagamento deve disponibilizar, para o usuário pagador, a opção de cancelamento da transação. Por isso, o PSP deve sempre notificar o PSI nesses casos.</em><em> </em><br/>
<br/>
<em>Mensagem obrigatória: Deve evidenciar que a transação precisa de um tempo adicional de análise para ser autorizada e dar a opção de cancelamento da transação.</em><br/>
<br/>
<em>Exemplos:</em><br/>
<br/>
<em>-Precisamos de 30 minutos adicionais para analisar sua transação. Deseja cancelar o Pix?</em><br/>
<br/>
<em>-</em><em>Sua transação precisa de aproximadamente 60 minutos para ser autorizada. Deseja cancelar a transação?”</em><br/>
<br/>
As orientações do Guia demandam maiores esclarecimentos e a criação de um campo TEMP.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><strong>Como deveria ser:</strong> Deve ser criado um status TEMP para transações temporizadas – comportamento desse novo status deve ser realizada em conjunto com GT PRC / Fraudes.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><strong>Orientação:</strong><br/>
<ul>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN">Caso a detentora temporize uma transação a mesma deve ser informada a iniciadora com o status PDNG até que a transação seja iniciada no arranjo.<br/>
<br/>
No caso de rejeição:<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN">2.1 (Assíncrona) Caso a detentora rejeite uma transação que foi temporizada a mesma deve informar à iniciadora o status reject com o rejection reason AB11 (TIMEOUT_DEBTOR_AGENT). A iniciadora deve interpretar esse status com a mensagem descritiva: “<em>Transação rejeitada devida análise de fraude do detentor de conta</em>”.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN">2.2 (Síncrona) Caso a detentora opte por rejeitar a transação devido suas políticas de fraudes, a mesma deve informar àiniciadora o status 422 com o Code NAO_INFORMADO.<br/>
<br/>
Caso a decisão seja prosseguir com a transação, o fluxo continua seguindo a máquina de estados do pagamento.</li>
</ul>
</li>
</ul>
</td>
</tr>
</tbody></table>
<!--[if mso]>
</td>
<![endif]-->
<!--[if mso]>
</tr>
</table>
<![endif]-->
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnDividerBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;table-layout: fixed !important;" width="100%">
<tbody class="mcnDividerBlockOuter">
<tr>
<td class="mcnDividerBlockInner" style="min-width: 100%;padding: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<table border="0" cellpadding="0" cellspacing="0" class="mcnDividerContent" style="min-width: 100%;border-top: 2px solid #FFD249;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<span></span>
</td>
</tr>
</tbody></table>
<!--
<td class="mcnDividerBlockInner" style="padding: 18px;">
<hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
-->
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody class="mcnTextBlockOuter">
<tr>
<td class="mcnTextBlockInner" style="padding-top: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" valign="top">
<!--[if mso]>
<table align="left" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100%;">
<tr>
<![endif]-->
<!--[if mso]>
<td valign="top" width="599" style="width:599px;">
<![endif]-->
<table align="left" border="0" cellpadding="0" cellspacing="0" class="mcnTextContentContainer" style="max-width: 100%;min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td class="mcnTextContent" style='padding: 0px 18px 9px;font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #202020;font-size: 16px;' valign="top">
<h1 style="display: block;margin: 0;padding: 0;color: #202020;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: normal;text-align: left;"><font color="#147d96">Esclarecimentos sobre o tamanho e comportamento do campo transactionIdentification da API Payments</font></h1>
<p style='font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;line-height: 150%;text-align: left;margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-size: 16px;'><strong>A estrutura do </strong><strong><em>Open Banking</em></strong><strong> esclarece:</strong><br/>
<br/>
Serão adicionadas à planilha de problemas conhecidos os três itens abaixo, que orientam a respeito do <strong>uso do campo </strong><strong><em>transactionIdentification</em></strong><strong>:</strong><br/>
</p>
<ol>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><strong>Ajuste no texto descritivo atualmente aplicado ao campo </strong><strong><em>transactionIdentification</em></strong><br/>
</li>
</ol>
<ul>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>API/Sessão:</strong> API Payments<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Endpoint: </strong>POST/payments/v1/pix/payments<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Campo: </strong><em>transactionIdentification</em><br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Qual o problem</strong><strong>a: </strong>Esclarecimento sobre utilização do campo para os diferentes tipos de <em>localInstrument</em>.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Como deveria ser:</strong> Conforme ‘orientação’ descrita.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Orientação: </strong>Se <em>localInstrument</em> for igual a INIC, o campo <em>transactionIdentification</em> deve ser preenchido obrigatoriamente. Se <em>localInstrument</em> for igual a MANU, DICT, QRDN ou QRES, o campo <em>transactionIdentification</em> não deve ser preenchido. A detentora de conta deve validar se a condicionalidade do campo foi atendida pela iniciadora de pagamento.<br/>
</li>
</ul>
<ol>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="2"><strong>Uso do código 422 no </strong><strong><em>transactionIdentification</em></strong><br/>
</li>
</ol>
<ul>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>API/Sessão:</strong> API Payments<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Endpoint: </strong>POST/payments/v1/pix/payments<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Campo: </strong>422ResponseErrorCreatePixPayment<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Qual o problema: </strong>Detalhamento sobre o código de erro em caso de envio incorreto do <em>transactionIdentification</em>, conforme orientações contidas no problema conhecido BCLOG-F03-009.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Como deveria ser:</strong> Criação de código de erro específico para o caso citado no problema conhecido BCLOG-F03-009.<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Orientação: </strong>uso do 422 com o Code NÃO_INFORMADO para o caso citado no problema conhecido BCLOG-F03-009.<br/>
</li>
</ul>
<ol>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="3"><strong>Alteração do tamanho do campo de </strong><strong><em>transactionIdentification</em></strong><br/>
</li>
</ol>
<ul>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>API/Sessão:</strong> API Payments<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Endpoint: </strong>POST/payments/v1/pix/payments e GET /payments/v1/pix/payments/{paymentid}<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Campo: </strong><em>transactionIdentification</em><br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Qua</strong><strong>l o problema: </strong>Problema de incompatibilidade de tamanho de campo transactionIdentification da api payments com o regulamentado pelo arranjo pix<em>.</em><br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Como deveria ser:</strong> API <em>Payments</em> prevê 25 caracteres e o arranjo pix, de 26 a 35 caractereres - somente para QR Code dinâmico<br/>
</li>
<li style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" value="NaN"><strong>Orientação: </strong>Considerar o campo como tamanho máximo de 35 caracteres, desconsiderando o <em>pattern</em> no <em>swagger</em>.</li>
</ul>
</td>
</tr>
</tbody></table>
<!--[if mso]>
</td>
<![endif]-->
<!--[if mso]>
</tr>
</table>
<![endif]-->
</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" class="mcnDividerBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;table-layout: fixed !important;" width="100%">
<tbody class="mcnDividerBlockOuter">
<tr>
<td class="mcnDividerBlockInner" style="min-width: 100%;padding: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<table border="0" cellpadding="0" cellspacing="0" class="mcnDividerContent" style="min-width: 100%;border-top: 2px solid #FFD249;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" width="100%">
<tbody><tr>
<td style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<span></span>
</td>
</tr>
</tbody></table>
<!--
<td class="mcnDividerBlockInner" style="padding: 18px;">
<hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
-->
</td>
</tr>
</tbody>
</table></td>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Acesso Exclusivo para Assinantes
Cadastre-se ou faça login com sua conta do Radar Finsiders Brasil para visualizar esta regulação na íntegra, fazer download dos arquivos e ter acesso a relatórios exclusivos do mercado financeiro.