renatofrota / pix-pendencias Goto Github PK
View Code? Open in Web Editor NEWRepositório com lista de pendências e falhas de implementação da API e de outros procedimentos relativos a operação do Pix
Repositório com lista de pendências e falhas de implementação da API e de outros procedimentos relativos a operação do Pix
Issue para PSPs que permitem que o pagador altere o valor pago de um QR-Code dinâmico, dividido em dois atributos:
Os que permitem se não houver campo EMV 54 no QR-Code:
AME Digital
Os que permitem mesmo que haja campo EMV 54 no QR-Code:
RecargaPay
Os que enviam o valor original do QR-Code dinâmico, potencialmente sofrendo grandes prejuízos:
AME Digital (até 07.12.2020)
Os que conferem no back-end que isso não deveria ser feito:
AME Digital (a partir de 08.12.2020)
Os que enviam o valor editado, aí testando a obediência do PSP recebedor a não receber valor diferente:
RecargaPay
Os PSPs marcados não exibem as informações do QR Code dinâmico, tais como txid, infoAdicionais e o campo solicitacaoPagador.
Como é sabido e regulamentado as chave aleatórias, uma vez excluídas, não podem ser recadastradas. Mas não é isso que os PSPs marcados neste issue informam em sua interface.
Os PSPs marcados não notificam o webhook do recebedor quando um QR Code estático com txid é pago.
ao tentar realizar a leitura de um brcode dinâmico para realizar um pagamento é retornado o seguinte erro:
1 abrir a url https://openpix.com.br/widget/
2 ler o brcode e tentar efetuar o pagamento
A openpix é desenvolvida por nós da entria.com.br e o pagamento a princípio é para ser no valor de R$ 0,01 centavos
O PSP só está aceitando PIXs de valor maior ou igual a R$1,00.
PSPs com este problema até 09/12/2020:
O PicPay não lê QR Code dinâmico se o nome do recebedor não estiver presente, retornando como erro "Chave inexistente".
Provavelmente o app não consulta o nome do recebedor no DICT e utiliza apenas o que está presente no QR, retornando erro caso não este esteja ausente.
Adicionar o nome do recebedor ao código permite que o pagamento seja feito pelo PicPay normalmente.
Os bancos marcados aqui não oferecem a opção de pagamento via Pix Copia e Cola (função obrigatória segundo os Requisitos de UX do Pix).
(screenshot adicionada para confirmar que a opção não está aqui dentro)
Reportado (e imagens cedidas) por: @joelemanoel
Segundo o manual da UX o PSP deve informar antes do envio do Pix que ele passará por análise antes de ser efetivado, dando a opção do usuário cancelar ou prosseguir sob estas condições. Os PSPs marcados estão realizando o envio e colocando em análise sem aviso prévio e sem possibilidade de cancelamento (nem mesmo em momento posterior à solicitação).
No Bradesco, em caso de transações que sejam retidas para análise, mesmo no período diurno o app está pedindo 60 minutos para essa análise. O prazo de 60 minutos é para período noturno, e está sendo aplicado erradamente pelo Bradesco no período diurno.
Neste momento, as instituições listadas abaixo e marcadas nesta issue estão gerando QR Codes com CRC16 incorreto.
Uma fonte me forneceu um exemplo de QR Code em particular. O app do Itaú e de outros bancos não leram o QR Code.
Com a correção manual do CRC16 na string e geração de novo QR Code, o QR Code foi lido normalmente pelo Itaú e por outros apps.
Esta tabela tem cores indicativas aos clientes recebedores quanto ao nível de atenção necessário em virtude dos problemas que podem ser causados quando seus clientes realizarem pagamentos por meio destes PSPs, especificamente nos cenários que exigem liberação automática de pedidos e/ou qualquer nível de conciliação (legenda abaixo da tabela).
O Pix como meio de pagamento é totalmente seguro e, para a liberação manual de pedidos recebidos, todos os PSPs são confiáveis como PSP Pagador, sendo admitidas devoluções (estornos) de Pix somente quando comandadas pelo recebedor.
PSP | QRE | CCE | QRD | CCD |
---|---|---|---|---|
Ame Digital | 🟦 | 🟦 | 🟦 | 🟦 |
Banco do Brasil | 🟩 | 🟩 | 🟦 | 🟦 |
Bradesco | 🟦 | 🟦 | 🟦 | 🟦 |
BRB | 🟥 | 🟥 | 🟦 | 🟦 |
BS2 | 🟦 | 🟦 | 🟦 | 🟦 |
C6 Bank | 🟦 | 🟫 | 🟦 | 🟫 |
Caixa | 🟩 | 🟩 | 🟦 | 🟦 |
Caixa Tem | 🟦 | 🟦 | 🟩 | 🟩 |
Cora | 🟥 | 🟥 | 🟥 | 🟥 |
Daycoval | 🟦 | 🟦 | 🟥 | 🟥 |
Gerencianet | 🟦 | 🟦 | 🟦 | 🟦 |
Inter | 🟫 | 🟫 | 🟫 | 🟫 |
Itaú | 🟪 | 🟪 | 🟦 | 🟦 |
Juno | 🟦 | 🟦 | 🟦 | 🟦 |
Neon | 🟥 | 🟥 | 🟥 | 🟥 |
NuBank | 🟦 | 🟦 | 🟦 | 🟦 |
PagBank | 🟪 | 🟪 | 🟪 | 🟪 |
PicPay | 🟦 | 🟦 | 🟩 | 🟩 |
PJBank | 🟦 | 🟦 | 🟥 | 🟥 |
RecargaPay | 🟩 | 🟩 | 🟧 | 🟧 |
Santander | 🟩 | 🟩 | 🟧 | 🟧 |
Sicoob | 🟦 | 🟦 | 🟥 | 🟥 |
Sofisa | 🟥 | 🟥 | 🟥 | 🟥 |
SuperDigital | 🟥 | 🔲 | 🔲 | 🔲 |
Viacredi | 🟦 | 🟦 | 🟥 | 🟥 |
Valor | Descrição |
---|---|
PSP | Prestador de Serviços de Pagamento |
QRE | Pagamento de QR Code Estático lido com a câmera |
CCE | Pagamento via "Pix Copia e Cola" de QR Code Estático |
QRD | Pagamento de QR Code Dinâmico lido com a câmera |
CCD | Pagamento via "Pix Copia e Cola" de QR Code Dinâmico |
🟦 | Nenhum problema conhecido afeta o recebedor |
🟩 | Problema contornável afeta o recebedor |
🟫 | Problema afeta a confiança/experiência do pagador |
🟧 | Problema substancial afeta o recebedor |
🟥 | Problema restritivo afeta o recebedor |
🟪 | Problema afeta recebedor usando esse PSP |
🔲 | Não oferece o recurso |
Clique aqui e depois no rótulo específico (nome do PSP / tipo de problema).
🟩 #9 - Instituições omitindo os campos txid e/ou Mensagem digitada pelo pagador
🟥 #21 - Não repassa txid ao PSP recebedor
🟫 #25 - Não oferece acesso direto ao "Pix Copia e Cola"
🟩 #20 - Exige campo 26-02 (infoAdicional) no QR Code estático
🟩 #27 - Não suporta pagamento de QR Code dinâmico
🟥 #21 - Não repassa txid ao PSP recebedor
🟥 #21 - Não repassa txid ao PSP recebedor
🟫 #15 - Não exibe informações do QR Code dinâmico como txid, infoAdicionais e solicitacaoPagador
🟪 #9 - Instituições omitindo os campos txid e/ou Mensagem digitada pelo pagador
🟥 #21 - Não repassa txid ao PSP recebedor
🟪 #14 - Registrando chaves no DICT com o LegalName em vez de TradeName
🟩 #35 - Não aceita QR Code dinâmico sem o nome do recebedor
🟥 #21 - Não repassa txid ao PSP recebedor
🟩 #1 - Não aceita valores inteiros sem os centavos (com ou sem separador)
🟧 #18 - Permite edição de valor em QR-Code dinâmico
🟧 #18 - Permite edição de valor em QR-Code dinâmico
🟩 #28 - Emite comprovante com valor 100x maior que o debitado
🟥 #21 - Não repassa txid ao PSP recebedor
🟫 #2 - Despreza Merchant Name do DICT (exibe o nome presente no QR Code)
🔲 #13 - Não oferece opção de pagamento com Pix Copia e Cola
🟥 #21 - Não repassa txid ao PSP recebedor
🟫 #24 - Trata CPF como integer
🔲 #27 - Não suporta pagamento de QR code dinâmico
🟫 #29 - Exibe CNPJ formatado como CPF e faltando dígitos
🟥 #21 - Não repassa txid ao PSP recebedor
Crie novos issues, atualize os issues correspondentes ou vá ao Discord Pix Brasil.
Neste momento, os aplicativos das instituições marcadas neste issue e listadas abaixo não estão validando o campo CRC16 (ID 63) dos QR Codes.
Ignora totalmente o campo, não validando sequer a sua existência ou o núemro de 4 caracteres do campo.
Exemplos:
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix63042275
Inválido (trocando o CRC 2275 por 0000)
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix63040000
Inválido (campo 63 presente, sem valor)
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix6304
https://pix.ae/copiaecola/?00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix
Neste momento, as instituições marcadas neste issue apresentam problemas de UX.
Comprovante de envio Pix apresenta, além da informação correta de valor da transação, a seguinte informação adicional:
"Valor Final: R$ 0,00"
No PicPay, ao tentar ler o QRCode ou inserir o Copia e Cola gerado pela Gerencianet ou Juno, é exibido o erro abaixo:
Já verificamos o que foi reportado na issue #35 e não solucionou, tentamos também com e sem o Transaction Amount
, Point of Initiation Method
, Merchant Name
, e com Globally Unique Identifier
maíúsculo ou minúsculo, todas essas alterações não surtiram efeito.
Os PSPs marcados não oferecem o acesso direto ao "Pix Copia e Cola" (somente depois que é aberta a câmera para captura de QR Code, por exemplo).
O Manual de UX especifica que "Pix Copia e Cola" é uma função à parte que não se mistura com a leitura de QR Code, sendo obrigatório fornecer o acesso direto à opção "Pix Copia e Cola" na área Pix:
Afetados no momento:
C6Bank mostra comprovante de Pix, incluindo E2EID, antes do sucesso da transação, contradizendo manual de experiência do BACEN.
Os PSPs listados abaixo cometem o erro crasso de tratar CPF como integer.
Exemplo de problema relacionado: inconformidade no mascaramento, expondo dígitos que deveriam ser ocultos.
Neste momento, o bancos marcados nesta issue, no momento da leitura de um QR Code (teste realizado com um QR Code estático):
Manual de padrões de iniciação para Pix (v2.0.1), pág. 5, nota de rodapé 24.
O nome a apresentar ao pagador será necessariamente o nome retornado na consulta ao DICT. O MerchantName será ignorado pelo pagador.
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix63042275
Nome exibido: Pix
(conforme campo 59 do QR Code)
Nome esperado: conforme recuperado do DICT
Os PSPs marcados estão emitindo comprovante com valor 100x maior que o debitado quando o QR Code apresenta o valor inteiro sem casas decimais. A omissão das casas decimais é perfeitamente consonante com a documentação.
Ex: QR Code com campo TransactionAmount 198
(representando R$ 198,00, conforme a documentação), PSP debita R$ 1,98 e emite comprovante de R$ 198 (omitindo a vírgula e os centavos) e repassa ao PSP recebedor R$ 1,98 (198
centavos).
PSPs:
Referência: bacen/pix-api#248
Neste momento, os bancos marcados nesta issue estão expondo dados privados dos titulares de contas transacionais à revelia dos Termos de Uso do Pix.
Não é previsto que os PSPs exponham informações sobre as contas transacionais no processo de envio ou recebimento de Pix.
No momento do cadastramento de uma chave Pix, a informação que o PSP dá ao usuário a respeito das informações que serão divulgadas aos pagadores por meio da Chave Pix (conforme consta no manual de experiência):
- Nome completo;
- CPF com máscara escondendo os primeiros três e os últimos dois dígitos;
- O nome do prestador de serviços de pagamento ao qual a chave está vinculada.
Está expondo dados de agência e conta transacional (dos seus próprios clientes e dos clientes recebedores de quaisquer bancos), durante o processo de envio e nos comprovantes:
Expondo o número das contas transacionais (dos clientes recebedores de quaisquer bancos), nos comprovantes (app e email). E não consta a Chave Pix do recebedor.
Expondo o número da agência e conta transacional (dos seus próprios clientes e dos clientes recebedores de quaisquer bancos) nos comprovantes.
Neste momento, as instituições marcadas nesse issue não estão informando aos pagadores e/ou recebedores nas notificações e comprovantes os campos txid (essencial para conciliação, apesar de não ser obrigatório pelo manual de UX atual) e a Mensagem digitada pelo pagador no "campo livre" (essa sim, obrigatória).
As instituições marcadas nessa issue, no momento, tem problemas com a leitura de QR Codes:
A leitura sequencial de QR Codes, na grande maioria das vezes, apresenta dados do QR Code apresentado na leitura anterior.
Exemplo:
1
=> dados do QR Code 1
são apresentados.2
=> dados do QR Code 1
são apresentados novamente.3
=> dados do QR Code 2
são apresentados.Problema só é resolvido encerrando o aplicativo e abrindo novamente antes de fazer nova leitura do QR Code desejado.
Não me arrisquei concluir o pagamento para descobrir qual dos emissores de QR Code receberá, de fato, o pagamento. 😹
ao tentar realizar a leitura de um brcode dinâmico para realizar um pagamento é retornado o seguinte erro:
1 abrir a url https://openpix.com.br/widget/
2 ler o brcode e tentar efetuar o pagamento
A openpix é desenvolvida por nós da entria.com.br e o pagamento a princípio é para ser no valor de R$ 0,01 centavos
Ainda não confirmado se valor saiu ou não da AME Digital e foi para a Gerencianet, mas se confirmado, PSPs com esse problema:
Edit: confirmado que valor integral saiu da AME Digital, então só sobra o #18 mesmo.
Fechando issue.
Os PSPs marcados não suportam pagamento de QR Code dinâmico.
As instituições marcadas nessa issue, no momento, não lêem QR Codes com as seguintes características:
.
e sem os centavos. Exemplo: 10
.
e sem os centavos. Exemplo: 10.
Manual de padrões de iniciação para Pix
Todos os campos que indicam valores monetários obedecem ao formato do ID 54 da especificação EMV/BR Code para QR Codes. O separador decimal é o caractere ponto. Não é aplicável utilizar separador de milhar. Exemplos de valores aderentes ao padrão:“0.00”, “1.00”, “123.99”, “123456789.23”.
EMV-MPM
4.7.4 Transaction Amount (ID "54")
4.7.4.1 If present, the Transaction Amount shall be different from zero, shall only include (numeric) digits "0" to "9" and may contain a single "." character as the decimal mark. When the amount includes decimals, the "." character shall be used to separate the decimals from the integer value and the "." character may be present even if there are no decimals.The number of digits after the decimal mark should align with the currency exponent associated to the currency code defined in [ISO 4217].
The above describes the only acceptable format for the Transaction Amount. It cannot contain any other characters (for instance, no space character can be used to separate thousands).
The following are examples of valid Transaction Amounts: "98.73", "98" and "98.".
The following are NOT valid Transaction Amounts: "98,73" and "3 705".
10
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865402105802BR5903Pix6003Pix6304ECF4
10.
00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]520400005303986540310.5802BR5903Pix6003Pix63049651
Lidos com sucesso nos apps do Itaú e NuBank.
Os PSPs marcados apresentam o CNPJ do recebedor formatado como se fosse um CPF e faltando dígitos.
Exemplo: ao ler um QR de recebedor PJ cujo CNPJ é 12.345.678/9012-34
, é exibido 123.456.789-01
(exibe 11 caracteres, com máscara de CPF, e omite o restante dos caracteres).
PSPs:
Neste momento, as instituições marcadas neste issue apresentam divergências em relação à especificação do Manual de Requisitos Mínimos para Experiência do Usuário, conforme a lista descritiva abaixo.
Os PSPs marcados não estão repassando o txid ao PSP recebedor, impossibilitando a conciliação e o envio de webhooks (para baixa automática).
Referências:
Neste momento, os aplicativos das instituições marcadas neste issue apresentam deficiências de UX em relação ao gerenciamento de chaves.
Lembrando que é parte do Manual de Requisitos Mínimos para Experiência do Usuário (pág 37, itens 3 e 5):
- As chaves cadastradas na conta transacional devem estar disponíveis para gerenciamento pelo usuário (item 3 está associado a uma tela exemplo onde as chaves estão todas visíveis em sua totalidade, inclusive chaves aleatórias).
- A funcionalidade de "Minhas chaves” deve ser oferecida por meio de acesso rápido e claro para o usuário.
Não é possível visualizar chaves aleatórias. Só é possível saber/identificar uma chave gerando uma cobrança com ela e escaneando o QR em seguida, já que nem mesmo na página de cobrança é possível ver a chave (a chave não fica aparente, há um botão para copiar, mas não funciona em todos os navegadores (ex: Firefox no Linux)). As chaves são selecionáveis (inclusive na geração de cobrança) apenas pela sua data de criação.
Os PSPs marcados estão registrando as chaves no DICT com o LegalName (Razão Social) em vez do TradeName (Nome Fantasia), em desacordo com o Manual de UX do Pix.
Colaboração: @joelemanoel e @rubenskuhl
Como relatado em: bacen/pix-api#214
O Itaú acata e depois estorna recebimentos Pix via QR Code ou Copia e Cola que contenham valor txid, se este não tiver sido gerado no aplicativo do próprio Itaú.
O parâmetro GUI do EMV é, segundo o manual do BRCode 2.0.1, case-insensitive. Alguns PSPs não aceitam um dos formatos.
Só aceitavam minúsculas em 07.12.2020:
No Bradesco, em caso de transações que sejam retidas para análise, se ao final do período de análise eles não tiverem ainda analisado, a transferência é rejeitada. Isso coloca o banco em contravenção ao regulamento do Pix que especifica um tempo máximo para análise.
No caso em questão, ocorrido mais de uma vez, nenhuma tentativa de contato para confirmar a legitimidade da transação foi realizada, apenas a transferência negada.
Com o detalhe de que a transferência era para conta de mesma titularidade, o que tanto diminuía o risco da transação quanto coloca a atitude do banco na seara de comportamento anti-competitivo (impedir que um depositante mude de instituição no sistema financeiro).
Os PSPs marcados não estão oferecendo o Pix a toda a sua base de clientes.
Colaboração: @joelemanoel
O parâmetro 26.02 do EMV de acordo com o manual do BRCode opcional. No momento a Caixa Econômica Federal não está aceitando sem o 26.02.
Só aceitam com Informações Adicionais em 08/12/2020:
Aplicativo CaixaTem, versão 1.34.1, não deixou pagar Pix sem que fosse feito um cadastro de chave Pix.
Chave Pix só é recomendada para recebimento e não deveria ser requisito para fazer pagamento Pix.
PSPs: CaixaTem (Caixa)
TIpo: Regulatório
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.