Executando verificação de segurança...
7

Uma Biblioteca PHP para PIX Estáticos

Oi, pessoal! Hoje quero compartilhar com vocês um projeto que venho desenvolvendo e que acredito que pode ser útil para a nossa comunidade: o PixPhp. Esta biblioteca open-source em PHP facilita a geração de códigos PIX estáticos, algo cada vez mais importante no cenário de pagamentos do Brasil.

Geração de PIX "Copia e Cola"

Uma das funcionalidades interessantes do PixPhp é a capacidade de criar códigos PIX "copia e cola". Isso significa que você pode gerar códigos que incluem um valor fixo ou um valor variável, dependendo da sua necessidade. Ao usar essa abordagem, você pode facilitar a experiência do usuário, permitindo que eles copiem e colem o código diretamente em seu aplicativo bancário.

Simplicidade de Uso

Uma das melhores partes do PixPhp é como ele é fácil de usar. Com apenas algumas linhas de código, você pode gerar códigos PIX de forma rápida e prática. A biblioteca abstrai toda a complexidade do processo, permitindo que você se concentre na construção de sua aplicação.

use PixPhp\StaticPix;

// Gerar código PIX com valor fixo
$pixCode = StaticPix::generatePix("123.456.789-09", "ID123", 100.00);
echo "Código PIX gerado: " . $pixCode;

Com essa simplicidade, mesmo quem está começando agora no desenvolvimento em PHP pode rapidamente integrar pagamentos via PIX em seus projetos, sem se preocupar com detalhes técnicos complicados.

Além disso, ao combinar com um banco que ofereça suporte a webhooks, você pode receber pagamentos PIX online de forma automática. Isso significa que, ao gerar um código PIX e compartilhar com seus clientes, você pode configurar notificações em tempo real para saber quando um pagamento foi recebido.


Testes e Validação

Um aspecto importante do PixPhp é a robustez que ele oferece. A biblioteca inclui testes para garantir que a geração dos códigos esteja correta e também valida se a chave informada está no formato certo. Assim, você pode ter mais segurança nas suas transações.

Vamos Colaborar!

Como é um projeto open-source, fico muito feliz em contar com a ajuda de vocês. Se tiverem sugestões, melhorias ou até mesmo questões, sintam-se à vontade para abrir um pull request ou criar uma issue no repositório do GitHub.

GitHub: https://github.com/kayon-ariel/pix-php
Packagist: https://packagist.org/packages/kayon-ariel/pix-php


Espero que seja útil para a comunidade, esse é meu primeiro projeto publicado no packagist então peço desculpa por qualquer erro que com certeza cometi.

Obrigado! 🙌

Carregando publicação patrocinada...
2

Muito bom man, se me permite nessa mesma pegada implementei algo parecido e simples o suficiente já há alguns anos, mais precisamente há uns 3 anos atrás.
Esse projeto se chama PyPix que é uma implementação em python de um outro projeto em javascript chamado GPix .
Ambos são de código aberto e são projetos open-source.

2

Opa, não daria para criar uma empresa de intermediação de pagamentos com estas API? No geral, tenho visto as empresas cobrando caro para este serviço, acredito que ainda tenha espaço para quem ofertar algo legal, com preço em conta, para as PMEs.

2
2

Mas, existe empresas que tem a conta no banco e fazem a "Intermediação", acredito que o Paghiper e assim, usa Itau e Bradesco para boletos e PIX, mas, flui tudo organizado. "Se achar que tem como, bora conversar". rs

1

É possível eu, por exemplo, trabalho em uma empresa que atua com isso, utilizamos o PIX indireto por meio de bancos custodiantes. Claro que, na prática é muito mais complexo do que usar somente um pix estático. Precisamos utilizar o pix dinâmico e existe todo o processo de processamento do pagamento.

1

Bacana de mais, vou dar uma olhada no PyPix e no GPix, com certeza sempre é bom aprender com outras implementações. Obrigado por compartilhar! E se tiver alguma ideia de melhoria ou quiser contribuir no PixPhp, será super bem-vindo! 😄

Conseguimos reunir aqui nesse post implementações em python, javascript e PHP então. Logo fechamos as principais linguagens em kskskk

2

O que todas tem em comum é a incapacidade de checar se foi pago kkk, na verdade esse é um problema ou uma questão de segurança definida pelo próprio bacen, mas bem que eles poderiam colocar um endpoint público para consultas bastando apenas o qrcode poder ser identificado pelo id.

1

Sim realmente seria muito útil, também quebraria várias empresas de processamento de PIX no processo.

Porém, hoje já existem alguns bancos que fazem envio de webhook quando um PIX é confirmado, sendo possível automatizar a confirmação.

Seria ainda melhor se fosse possível incluir uma URL de webhook na própria criação do PIX copia e cola. Não sei se seria um problema de segurança, pois pelo menos nos webhooks dos bancos que testei é retornado até o nome e documento (cpf/cnpj) do pagador. Se no webhook padrão retornasse somente o status e id já seria o suficiente.

2

Pelo que li no github do pessoal do Bacen, isso seria um grande problema de segurança, pois não teria como validar os tais webhooks, imagina que alguém mal intecionado crie um link webhook e o banco tenha que acessar esse link para notificar a outra ponta sobre recursos que ele opera...
Pelo menos era essa a discussão na época em que eu achava que tudo eram só flores nessa implementação kkk, de lá para cá nada mudou, e em breve até o pix deixará de existir, pois o Drex deve invadir esse espaço com alguma nova tecnlogia de pagamentos eletrônicos.

1

Entendi, agora só fiquei mais curioso para saber como bancos como o Sicoob, por exemplo, disponibilizam  webhooks de PIX, como eles devem fazer para mitigar esses riscos.

2
1

Exatamente se o bacen exigisse que o PSP do recebedor sempre enviasse webhook para a url fornecida no payload do PIX copia e cola. Seria possível usar o PIX para receber de maneira automatizada sem depender de intermediários, mas provavelmente não seria economicamente viável.

2
1

Ai sim, se ficar com qualquer dúvida ou precisar de mais inplementações pode abrir um issues, vou tentar manter o projeto vivo.

2

Pode deixar,é que estou fazendo a parte de pagamentos e vi seu projeto e acredito que ele pode ser bom para oque quero,mas ele gera o código só não tem retorno se foi pago né?

1

Até é possível ter o retorno caso use um banco que suporte webhook como Sicoob, por exemplo. Mas aí exige um esforço e configuração adicional no banco onde a chave pix está cadastrada.

Caso não consiga um banco com webhook de pix, vai funcionar para receber, mas sem a confirmação de pagamento mesmo.

2

Sem problemas. acredito que dê para eu atrelar alguma notificação para saber se o usuário gerou o pix ,ai já vou ficar ciente que ele vai fazer uma transação ou fez.

1

Consegui uma forma de receber a confirmação de maneirar gratuita com Mercado Pago, vou escrever um artigo sobre em breve. Mas basicamente eles oferecem um webhook para qualquer ação da conta, ou seja também notificam transferencias recebidas.

O retorno é algo do tipo:
{
"resource": "89816963729",
"topic": "payment"
}

Com esse resource é possível ultilizar uma API deles pra consultar e obter mais detalhes:
https://api.mercadopago.com/v1/payments/90129694012

Agora só falta descobrir como ligar isso ao copia e cola gerado, pois no retorno não encontrei o txid nem a descrição.