Giter Club home page Giter Club logo

pix-pendencias's People

Contributors

renatofrota avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pix-pendencias's Issues

Permite edição de valor em QR-Code dinâmico

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

Não aceita QR Code dinâmico sem o nome do recebedor

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.

Não oferece opção de pagamento com Pix Copia e Cola

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).

PicPay

Área do Pix

image

Função de escanear QR

(screenshot adicionada para confirmar que a opção não está aqui dentro)

image

Reportado (e imagens cedidas) por: @joelemanoel

PSP coloca envio de Pix sob análise sem aviso prévio e sem possibilidade de cancelamento

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).

QR Code gerado com CRC16 incorreto

Neste momento, as instituições listadas abaixo e marcadas nesta issue estão gerando QR Codes com CRC16 incorreto.

PicPay

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.

Panorama Geral de Operação e Interoperabilidade Pix

Panorama Geral de Operação e Interoperabilidade Pix

Quadro de conformidade - PSP Pagador

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 🟦 🟦 🟥 🟥

Legenda

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

Lista de problemas encontrados / relatados

Lista completa de problemas (mais extensiva que a tabela acima)

Clique aqui e depois no rótulo específico (nome do PSP / tipo de problema).

Problemas que foram considerados na tabela acima

Banco do Brasil

🟩 #9 - Instituições omitindo os campos txid e/ou Mensagem digitada pelo pagador

BRB

🟥 #21 - Não repassa txid ao PSP recebedor

C6 Bank

🟫 #25 - Não oferece acesso direto ao "Pix Copia e Cola"

Caixa

🟩 #20 - Exige campo 26-02 (infoAdicional) no QR Code estático

Caixa Tem

🟩 #27 - Não suporta pagamento de QR Code dinâmico

Cora

🟥 #21 - Não repassa txid ao PSP recebedor

Daycoval

🟥 #21 - Não repassa txid ao PSP recebedor

Inter

🟫 #15 - Não exibe informações do QR Code dinâmico como txid, infoAdicionais e solicitacaoPagador

Itaú

🟪 #9 - Instituições omitindo os campos txid e/ou Mensagem digitada pelo pagador

Neon

🟥 #21 - Não repassa txid ao PSP recebedor

PagBank

🟪 #14 - Registrando chaves no DICT com o LegalName em vez de TradeName

PicPay

🟩 #35 - Não aceita QR Code dinâmico sem o nome do recebedor

PJBank

🟥 #21 - Não repassa txid ao PSP recebedor

RecargaPay

🟩 #1 - Não aceita valores inteiros sem os centavos (com ou sem separador)
🟧 #18 - Permite edição de valor em QR-Code dinâmico

Santander

🟧 #18 - Permite edição de valor em QR-Code dinâmico
🟩 #28 - Emite comprovante com valor 100x maior que o debitado

Sofisa

🟥 #21 - Não repassa txid ao PSP recebedor

SuperDigital

🟫 #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

Viacredi

🟥 #21 - Não repassa txid ao PSP recebedor

Para sugerir atualizações

Crie novos issues, atualize os issues correspondentes ou vá ao Discord Pix Brasil.

Instituição não está validando o CRC16 dos QR Codes

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.

NuBank

Ignora totalmente o campo, não validando sequer a sua existência ou o núemro de 4 caracteres do campo.

Exemplos:

Válido
image

00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix63042275

Inválido (trocando o CRC 2275 por 0000)
image

00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix63040000

Inválido (campo 63 presente, sem valor)
image

00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix6304

Inválido (sem o campo 63)
image

https://pix.ae/copiaecola/?00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865802BR5903Pix6003Pix

Problema no comprovante de operação Pix

Neste momento, as instituições marcadas neste issue apresentam problemas de UX.

NuBank

Problema que não infringe regulamentação

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"

QRCodes gerados pela Gerencianet e Juno não são lidos pelo PicPay

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.

Não oferece acesso direto ao "Pix Copia e Cola"

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:

image

image

Afetados no momento:

  • C6 Bank

Trata CPF como integer

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.

  • SuperDigital

Despreza Merchant Name do DICT (exibe o nome presente no QR Code)

Neste momento, o bancos marcados nesta issue, no momento da leitura de um QR Code (teste realizado com um QR Code estático):

  • Despreza o nome registrado para a chave junto ao DICT e exibe o MerchantName (campo 59) do QR Code

Documentação

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.

Teste

image

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

Emite comprovante com valor 100x maior que o debitado

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:

  • Santander

Referência: bacen/pix-api#248

Expõe informações pessoais não previstas nos termos de uso do Pix

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.

Documentação

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.

Screenshot do aplicativo no momento do cadastro da chave

image

Termos de Uso, seção 2:

image

Itaú

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:

image

MercadoPago

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.

NuBank

Expondo o número da agência e conta transacional (dos seus próprios clientes e dos clientes recebedores de quaisquer bancos) nos comprovantes.

Instituições omitindo os campos txid e/ou Mensagem digitada pelo pagador

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).

  • Banco Inter
  • Banco Itaú
  • MercadoPago
  • NuBank

Problemas na leitura de QR Codes

As instituições marcadas nessa issue, no momento, tem problemas com a leitura de QR Codes:

NuBank

A leitura sequencial de QR Codes, na grande maioria das vezes, apresenta dados do QR Code apresentado na leitura anterior.

Exemplo:

  • Leitura de QR Code 1 => dados do QR Code 1 são apresentados.
  • Pressiona "voltar"
  • Leitura de QR Code 2 => dados do QR Code 1 são apresentados novamente.
  • Pressiona "voltar"
  • Leitura de QR Code 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. 😹

problema pagamento via brcode dinamico c6bank

ao tentar realizar a leitura de um brcode dinâmico para realizar um pagamento é retornado o seguinte erro:

Screen Shot 2020-12-07 at 19 39 19

reprodução

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

Não aceita valores inteiros sem os centavos (com ou sem separador)

As instituições marcadas nessa issue, no momento, não lêem QR Codes com as seguintes características:

  • Sem separador . e sem os centavos. Exemplo: 10
  • Com separador . e sem os centavos. Exemplo: 10.

Documentação

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".

Testes

10

image

00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]5204000053039865402105802BR5903Pix6003Pix6304ECF4

10.

image

00020126700014br.gov.bcb.pix0136403f6c37-bb1d-48aa-a61c-0f6a205764d80208[Pix.ae]520400005303986540310.5802BR5903Pix6003Pix63049651

Lidos com sucesso nos apps do Itaú e NuBank.

Exibe CNPJ formatado como CPF e faltando dígitos

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:

  • SuperDigital

Problemas de UX no gerenciamento de chaves

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):

  1. 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).
  1. A funcionalidade de "Minhas chaves” deve ser oferecida por meio de acesso rápido e claro para o usuário.

NuBank

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.

Análise do Pix não é realizada, nenhum contato é feito e transferência não acontece

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).

Exige campo 26-02 (infoAdicional) no QR Code estático

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:

  • Caixa Econômica Federal

Exige cadastro de chave para pagar Pix

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.