Giter Site home page Giter Site logo

competeaqui / qrcode-pix-java Goto Github PK

View Code? Open in Web Editor NEW
6.0 4.0 2.0 150 KB

Biblioteca Java 17+ para geração de QRCode PIX "Copia e Cola"

Home Page: https://competeaqui.github.io/qrcode-pix-java/

License: GNU General Public License v3.0

Java 100.00%
bcb java jdk lib pix qrcode pagamentos api automacao banco-central-do-brasil

qrcode-pix-java's Introduction

QRCode PIX Java build Codacy Badge Codacy Code Coverage

Biblioteca Java para geração de QRCode PIX "Copia e Cola" e exportação do código para imagem.

1. Exemplo de PIX Gerado

O projeto vem com uma aplicação console de exemplo que gera o código do PIX "Copia e Cola" e salva o QRCode em um arquivo qrcode.png na raiz do projeto.

Para testar, você pode abrir o app do seu banco e executar qualquer um dos passos a seguir.

Note Considere pagar o PIX como uma contribuição para o projeto. Isso nos ajuda a continuar o desenvolvimento.

1.1. Copiar o código abaixo e colar na opção "PIX Copia e Cola".

[email protected] em Java52040000530398654041.005802BR5925Manoel Campos da Silva Fh6006Palmas62070503***6304FEC1

1.2. Escanear este QRCode

qrcode.png

2. Requisitos

O projeto requer uma versão atualizada do maven e o JDK 17+ instalados para fazer build e JRE 17+ para execução.

3. Rodando a Aplicação

A aplicação de exemplo disponível na classe AppPixQRCodeGenerator.java gerou o código PIX mostrando anteriormente. A forma mais fácil de executar a aplicação é abrir o projeto no seu IDE e executar tal classe, onde você pode alterar os dados do PIX como desejar.

4. Atribuição

Este projeto foi baseado em uma biblioteca PHP disponível em https://github.com/renatomb/php_qrcode_pix.

5. Licença

O projeto é licenciado sob a GPLv3 e disponibilizado como está. Nenhuma responsabilidade deve ser atribuída aos desenvolvedores pelo uso da biblioteca.

6. Contribuição

Uma das formas de contribuir com o projeto é considerar o pagamento do QRCode mostrado acima, mas há diferentes outras forma que você pode verificar no Guia de Contribuição.

7. Links

qrcode-pix-java's People

Contributors

dependabot[bot] avatar fagno avatar manoelcampos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

qrcode-pix-java's Issues

Verificação de recebimento

FEATURE

Verificação de recebimento. Requer #25.

Descreva detalhadamente como o novo recurso deve funcionar

Identificar e correlacionar o recebimento da transação.

Apresente um cenário onde este recurso pode ser usado

Quando o pagamento por PIX for efetuado, o pagador deve receber um feedback de confirmação do recebimento.

Uma breve explicação porque você pensa que este recurso é importante

Essa informação permitirá ao recebedor identificar e correlacionar a transferência, quando recebida, com a apresentação das instruções ao pagador.

Obter o identificador de uma transação junto a PSP

FEATURE

Obter o identificador de uma transação junto ao prestador de serviços de pagamento (PSP).

Descreva detalhadamente como o novo recurso deve funcionar

O QR Code deve ser gerado com um identificador (txid). Atualmente o QR é gerado sem um identificador, sendo utilizado o valor ‘***’ para indicar essa escolha. Ver item 1.5.2, do manual de padrões de BC.

Apresente um cenário onde este recurso pode ser usado

Quando o pagamento por PIX for efetuado é importante enviar um feedback de confirmação do recebimento.

Uma breve explicação porque você pensa que este recurso é importante

Necessário para implementar a verificação de recebimento. Essa informação permitirá ao recebedor identificar e correlacionar a
transferência, quando recebida, com a apresentação das instruções ao pagador.

Identificar o tipo da chave e validar (incluir testes)

  • CPF/CNPJ: deve ter 11 ou 14 dígitos, respectivamente (somente números)
  • email: usar regras de validação de email básicas: [email protected]
  • chave aleatório: dígitos alfanuméricos (exemplo: 123e4567-e12b-12d1-a456-426655440000), mas não encontrei dados de tamanho e formato (não sei se existe um padrão para a posição dos hífens).
  • telefone:
    • deve incluir o DDI do Brasil: +55
    • verificar se aceita somente número celular com 9 dígitos ou número fixo com 8 (não estou contando o DDD que deve ser incluído)

Ver manual do PIX do BCB.

Issues Relacionadas

Apresentar feedback ao pagador

FEATURE

Apresentar feedback ao pagador. Requer #26.

Descreva detalhadamente como o novo recurso deve funcionar

Quando o pagamento por PIX for efetuado deve ser enviado um e-mail ou sms ao pagador, confirmando o recebimento.

Apresente um cenário onde este recurso pode ser usado

Na confirmação de pagamento para o pagador.

Uma breve explicação porque você pensa que este recurso é importante

Necessário notificar o recebimento.

O valor deve ser positivo

O construtor do record DadosEnvioPix deve fazer a validação e lançar uma IllegalArgumentException.

Verificar possível criação de interface a partir de QRCodePix para preparar para implementar a geração do QRCode pelas APIs dos bancos

Bancos como o BB fornecem uma API web para geração de QRCode PIX.
As especificações de qualquer banco seguem as normas do BCB, mas cada banco pode acabar fornecendo uma API pública diferente dos outros (é preciso confirmar isso).

Neste caso, faz mais sentido ainda ter uma interface com os métodos da classe atual QRCodePix que seria implementada em classes específicas para cada banco que tem APIs diferentes.

A classe QRCodePix pode ser renomeada para algo como QRCodePixLocal (para indicar a geração local do QRCode).
Assim, a nova interface poderia ter o nome da antiga classe QRCodePix.

Corrigir tamanho de campos (verificar testes e incluir novos)

O tamanho dos campos não indica a quantidade máximo de dados que podem ser fornecidos pelo usuário, mas o tamanho total do campo, incluindo o ID do campo, o tamanho do dado e o dado em si.

Campos como descrição (infoAdicional) inclusive tem um tamanho dinâmico, de acordo com o espaço que sobrou depois de o usuário indicar a chave PIX e outros valores.

Ver seção 1.5.1, página 4 no manual do PIX do BCB.

Issues Relacionadas

  • #13 (ver issue)

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.