/piggly-dev_php-pix

Uma biblioteca para preparar e gerar o código Pix do Banco Central do Brasil.

Primary LanguagePHPMIT LicenseMIT

Crie/Leia códigos Pix sem complicações com PHP

Latest Version on Packagist Packagist Downloads Packagist Stars Software License PHP

Versão Atual

O Pix é o mais novo método de pagamento eletrônico criado pelo Banco Central do Brasil. Você encontra todos os detalhes na página oficial do Pix. Saiba mais como ele funciona e como nossa biblioteca trabalha clicando aqui.

Essa biblioteca foi criada para ser utilizada principalmente com o plugin de Woocommerce Pix por Piggly. Mas, pode ser utilizada em qualquer sistema onde seja necessário a criação de payloads, códigos e QRCodes Pix. Afinal, ela foi criada para otimizar o processo de trabalho com os códigos Pix. Com ela, você poderá:

  • Gerar códigos Pix estáticos e dinâmicos;
  • Criar QR Codes para os códigos pix gerados;
  • Ler códigos Pix importando os dados Pix;
  • Criar payloads de Cobranças e Devoluções para interagir com as APIs Pix;
  • Usar uma base de comunicação com a Api para organizar seus códigos;
  • Gerar códigos compatíveis com a última versão do Pix.

Leia sobre a solução de problemas clicando aqui caso suas chaves Pix sejam inválidas. E, não deixe de conferir nossa documentação completa.

Se você apreciar a função desta biblioteca e quiser apoiar este trabalho, sinta-se livre para fazer qualquer doação para a chave aleatória Pix aae2196f-5f93-46e4-89e6-73bf4138427b ❤.

Atualização para a versão 3.0.0

A versão 3 é compatível com os métodos já utilizados na versão 2. Esteja atento as diferenças antes de atualizar:

  • Não é mais compatível com PHP 7.x;
  • Campos obrigatórios passaram para os construtores dos Payloads;
  • Novos campos foram adicionados aos Payloads e EMVs;
  • Demais métodos são compatíveis com a versão 2.

Para realizar as requisições da api, recomendamos a biblioteca piggly/php-api-client, ela foi desenvolvida para ser flexível e muito mais robusta que a solução anterior utilizada na versão 1.x.x. Mas você está livre para utilizar as libs que desejar.

Instalação

Composer

  • No terminal, dentro da sua pasta do projeto, digite composer require piggly/php-pix;
  • Não esqueça de iniciar o composer incluindo o arquivo require_once('vendor/autoload.php); na base do código.

Instalação Manual

  • Baixe ou clone esse repositório com git clone https://github.com/piggly-dev/php-pix.git;
  • Depois, vá para a pasta /path/to/php-pix e dê o comando composer install para instalar todas as dependências.
  • Adicione o autoload do composer na base do seu projeto require_once('/path/to/php-pix/vendor/autoload.php);.

Dependências

Essa bibliotecca possuí as seguintes dependências:

Como utilizar?

Recomendamos que leia a documentação completa clicando aqui

Em samples/payload.php e samples/reader.php você encontra um exemplo de implementação. Esta biblioteca é bem simples de utilizar e tudo que você precisa fazer é solicitar ao usuário ou ter os seguintes dados para gerar o Pix:

Obrigatórios:

  • $keyType = Parser::KEY_TYPE_RANDOM;
  • $keyValue = 'aae2196f-5f93-46e4-89e6-73bf4138427b';
  • $merchantName = 'STUDIO PIGGLY';
  • $merchantCity = 'Uberaba';

Opcionais:

  • $amount = 109.90;
  • $tid = '034593-09';
  • $description = 'Pagamento 01';
  • $reusable = false;

Depois crie o objeto Payload e utilize os métodos getPixCode() ou getQRCode(), conforme as suas necessidades. Você também pode criar o objeto Reader para extrair os dados de uma chave pix válida.

Testes realizados

O código Pix gerado por essa biblioteca, incluindo a função QR Code e Pix Copia & Cola, foi testado nos seguintes aplicativos de banco:

  • Banco do Brasil;
  • Banco Inter;
  • BMG;
  • Bradesco;
  • C6;
  • Itaú;
  • Mercado Pago;
  • Nubank;
  • PagPank;
  • Santander.

Como o código utiliza o padrão do Pix é possível que funcione em todos os bancos. Alguns bancos ainda estão resilientes em utilizar os padrões determinados. Então, caso encontre problemas ou dificuldades não hesite em abrir uma Issue ou enviar um e-mail para dev@piggly.com.br.

Ao enviar um e-mail ou abrir uma issue, certifique-se de informar:

  • Versão da Biblioteca: 2.0.0;
  • Banco Emitente: NuBank;
  • Banco Pagador: Inter;
  • Tipo de Erro: O QR Code é inválido;
  • Chave Pix Gerada: 00020101021126740014br.gov.bcb.pix0136aae2196f-5f93-46e4-89e6-73bf4138427b0212Pagamento 0152040000053039865406109.905802BR5913STUDIO PIGGLY6007Uberaba62130509034593-09630444C9;

Changelog

Veja o arquivo CHANGELOG para informações sobre todas as mudanças no código.

Testes de Código

Essa biblioteca utiliza o PHPUnit. Realizamos testes com todas as principais classes dessa aplicação.

vendor/bin/phpunit

Contribuições

Veja o arquivo CONTRIBUTING para informações antes de enviar sua contribuição.

Segurança

Se você descobrir qualquer issue relacionada a segurança, por favor, envie um e-mail para dev@piggly.com.br ao invés de utilizar o rastreador de issues do Github.

Créditos

Apoie o projeto

Piggly Studio é uma agência localizada no Rio de Janeiro, Brasil. Se você apreciar a função desta biblioteca e quiser apoiar este trabalho, sinta-se livre para fazer qualquer doação para a chave aleatória Pix aae2196f-5f93-46e4-89e6-73bf4138427b ❤.

License

MIT License (MIT). Veja LICENSE para mais informações.