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 268 forks source link

Tamanho do campo pixCopiaECola na Cobrança #457

Closed gustavostz closed 3 years ago

gustavostz commented 3 years ago

Na versão 2.6 foi adicionado o campo "pixCopiaECola" no retorno de todos os endpoints da cobrança, entretanto não está especificado o tamanho máximo desse campo: image

Para conseguirmos uma performance maior, pensamos em gravar tal pixCopiaECola em banco de dados, ao invés de gera-lo toda vez. Todavia, queríamos saber o tamanho máximo que poderíamos ter em tal campo, pois isso facilitaria nossa modelagem.

Se somarmos o tamanho máximo de todos os campos do BR CODE, segundo a própria documentação do mesmo, teremos um tamanho maior que 2000 caracteres, contudo nota-se que o QR Code do PIX não utiliza todos os campos do BR CODE, mas se tivéssemos uma noção de tamanho máximo já ajudaria.

image

Tal tamanho máximo, poderia ser especificado na spec, conforme já é feito em outros campos, exemplo:

image

Conseguiram informar ou adicionar tal tamanho máximo na documentação?

thiagolvlsantos commented 3 years ago

Bom dia @GustavoSTZ,

De acordo com a especificação EMV MPM (download) seguido pelo BR Code, espera-se que conteúdo codificado seja limitado a 512 bytes.

"The length of the payload should not exceed 512 alphanumeric characters, and the number of characters should be reduced proportionally when multi-byte [Unicode] characters are used. Note that, as data object values with a format of S may contain characters coded as UTF-8 and depending on the alphabet being used there may not be a one-toone mapping of characters to bytes, special consideration would be needed to determine the number of bytes in the payload."

Sugerimos trabalhar com essa recomendação da EMV como ponto de partida.

Atenciosamente, Thiago Santos

thiagolvlsantos commented 3 years ago

Demanda já atendida na ApiPix 2.6.1.

Atenciosamente, Thiago Santos