bacen / pix-api

API Pix: a API do Arranjo de Pagamentos Instantâneos Brasileiro, Pix, criado pelo Banco Central do Brasil.
https://bacen.github.io/pix-api
2.36k stars 267 forks source link

[Dúvida] no [QR Code] - Validação de campos do BR Code #90

Closed jocimarcan closed 4 years ago

jocimarcan commented 4 years ago

Prezados,

O BR Code exige que alguns campos sejam de preenchimento obrigatório. A dúvida é se estes campos devem ser validados no pagamento e qual deve ser o rigor no preenchimento deles na geração de um QR code por meio de aplicativo mobile. Mais especificamente nos campos abaixo: 1) Transaction Currency (M): Este campo pode ser preenchido com valor diferente do Real (ex.: Dólar)? Caso sim, o PSP do pagador poderá negar essa operação quando diferente do Real? Ou ainda, o PSP do pagador deverá se preocupar em validar esse campo na leitura? 2) Merchant Name (M): Como deverá proceder o PSP pagador quando o campo Merchant Name diferir do nome do recebedor recuperado no DICT? Isso vai ocorrer, por exemplo, após uma reivindicação de posse bem sucedida de uma chave já atrelada a algum QR code. Nesse caso, o PSP do pagador deve fazer alguma validação desse campo para aceitar ou recusar um pagamento? Isso implica, na verdade, se um QR code, já impresso, pode ou não mudar de dono. 3) Merchant City (M): Considerando que possa haver limitação em identificar o local da agência do usuário recebedor ou ainda que alguns PSP sequer possuem agências físicas; poderá o PSP recebedor preencher esse campo com a cidade que faz mais sentido?

rubenskuhl commented 4 years ago

Posso mencionar a minha expectativa como correntista:

dmkamers commented 4 years ago

@jocimarcan @rubenskuhl agradecemos as contribuições. Favor referir-se aos manuais abaixo:

Quanto às questões:

  1. Não há previsão no Manual do BRCode para Transaction Currency diferente de 986 – BRL: real brasileiro. Assim, se o campo for diferente, não se trata de um BRCode (que deve ser o padrão para iniciar pagamento no Brasil).
  2. O MerchantName sempre é ignorado no contexto do Pix (Manual de Iniciação, nota de rodapé 24).
  3. O MerchantCity na definição EMV (BRCode) é a cidade onde o recebimento (QR) é gerado. Quando isto não faz sentido (como em transações online) pode ser utilizada a cidade da agência do recebedor ou a cidade-sede do recebedor (Manual do BRCode, nota de rodapé 8).