Super interessante e valido o projeto, mas tenho uma dúvida. O código gerado para o pix ele segue o formato, ele não precisa ser validado pela api oficial para ser válido na transação? é sempre válido? Como é isso?

A Payload PIX é uma espécie de "pacote de informações" que desempenha um papel fundamental no sistema PIX, garantindo que as transações ocorram da maneira correta. Imagine a Payload como uma caixa que contém várias partes importantes:

  • Indicador de Formato da Payload: Imagine que isso seja como um sinal que diz qual a versão que estamos usando. Por exemplo, '01' para a versão atual.

  • Chave PIX do Beneficiário (32 caracteres alfanuméricos): Esta é a forma de identificar para quem a transação está sendo enviada. Pode ser uma Chave PIX, que pode ser um e-mail, CPF/CNPJ, número de telefone, ou até mesmo um código especial chamado EVP (Endpoint de Pagamento).

  • Valor da Transação (até 13 dígitos, com 2 casas decimais): Aqui é onde especificamos o valor que será transferido na transação, em reais. É como colocar o montante exato que você deseja enviar.

  • Informações Adicionais do Beneficiário (até 140 caracteres): Às vezes, você pode querer incluir detalhes adicionais na transação. Pode ser o nome do destinatário, a razão social da empresa ou informações específicas sobre o pagamento.

  • TXID (Identificador Único da Transação): Este é um código único, uma sequência de letras e números, criado para cada transação. Isso evita que duas transações sejam idênticas, garantindo que cada uma seja única.

  • CRC16 (Cyclic Redundancy Check): É um tipo de código de verificação que serve para verificar se os dados na Payload estão completos e corretos. É como uma camada extra de segurança para garantir que nada se perdeu no caminho.

Para explicar melhor, podemos olhar para cada pedaço separadamente. Por exemplo, se pegarmos "00 02 01", podemos dizer:

  • "00" é o ID (Payload Format Indicator).
  • "02" significa que o valor que vem a seguir tem 2 caracteres.
  • "01" é o valor em si (possui apenas 2 caracteres).

Outro exemplo: "59 13 Fulano de Tal":

  • "59" é o ID (Merchant Name).
  • "13" diz que o valor a seguir tem 13 caracteres.
  • "Fulano de Tal" é o valor, que possuí 13 caracteres, incluindo os espaços.

E por último: "01 36 123e4567-e12b-12d1-a456-426655440000"

  • "01" é o identificador da chave pix
  • "36" é o tamanho de caracteres que essa chave tem
  • "123e4567-e12b-12d1-a456-426655440000" chave uuid, que possui 36 caracteres.

000201 2658 0014br.gov.bcb.pix 0136123e4567-e12b-12d1-a456-426655440000 52040000 5303986 5802BR 5913Fulano de Tal 6008BRASILIA 6207 0503*** 63041D3D

Nos exemplos acima foi usado a primeira, quarta e oitava linha, "000201", "0136123e4567-e12b-12d1-a456-426655440000" e "5913Fulano de Tal" respectivamente.

Então, a Payload PIX é como uma caixa com todos esses elementos dentro, garantindo que as transações PIX funcionem sem problemas e de forma segura.

E não... Não precisa validar com a api oficial. O algoritmo já é preparado para essas validações.