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
❤.
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
eEMVs
; - 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.
- 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.
- 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 comandocomposer install
para instalar todas as dependências. - Adicione o
autoload
do composer na base do seu projetorequire_once('/path/to/php-pix/vendor/autoload.php);
.
Essa bibliotecca possuí as seguintes dependências:
- Extensão GD do PHP para gerar QR Codes;
- Extensão MBString do PHP para manipulação de strings;
- PHP +8.0.
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.
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
;
Veja o arquivo CHANGELOG para informações sobre todas as mudanças no código.
Essa biblioteca utiliza o PHPUnit. Realizamos testes com todas as principais classes dessa aplicação.
vendor/bin/phpunit
Veja o arquivo CONTRIBUTING para informações antes de enviar sua contribuição.
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.
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
❤.
MIT License (MIT). Veja LICENSE para mais informações.