Com a chegada do Pix muitas lojas físicas começaram a se adaptar ao novo movimento. Mas, ainda tem um problema: é complicado gerar um Pix. Alguns de nossos clientes, por exemplo, precisam que vários colaboradores diferentes gerem um Pix. Mas, claro, nem todos eles podem acessar o app do banco para gerar um pix.
Esse projeto surge para resolver esse problema. Ele é uma micro interface que gera códigos Pix em QR Code e no formato Pix Copia & Cola. Veja como ela funciona:
Se você apreciar a função desta aplicação e quiser apoiar este trabalho, sinta-se livre para fazer qualquer doação para a chave aleatória Pix
aae2196f-5f93-46e4-89e6-73bf4138427b
❤.
- O usuário abre a plataforma a partir de um domínio
https://pix.empresa.com.br
e insere seu usuário/ senha; - Ele é direcionado para uma interface para selecionar a Conta Pix e preencher os dados como: valor da compra, ID da transação e descrição;
- Ao clicar no botão "Gerar Pix" uma nova interface exibe o QR Code que pode ser escaneado por outro aparelho ou um Pix Copia & Cola para compartilhar via internet.
Legal, não? O intuito aqui é ser simples. Por essa razão, não utilizamos frameworks disponíveis ou bancos de dados. Os usuários e as contas Pix são armazenados em /app/config/users.php
e /app/config/accounts.php
respectivamente.
- Se você quer gerar códigos Pix de uma maneira simples, fácil e rápido;
- Você quer que terceiros gerem um código Pix para você;
- Você não quer ficar entrando no app do Banco (e fazer um processo chato) o tempo todo para gerar novos Pix;
- Se você quer gerar os Pix sem plataformas/apis de terceiros que poderão cobrar taxas por isso.
- Se você quer começar a vender com Pix de um jeito simples, fácil e rápido.
Você precisa ter um servidor Web como o Apache ou Nginx. Uma versão do PHP 7.4 ou superior.
Entre em contato com a gente pelo e-mail dev@piggly.com.br que iremos fazer o possível para ajudar você a implementar essa aplicação.
Só existe uma razão para nossa aplicação ter usuários: previnir acesso deliberado. As informações da aplicação não são sensíveis. São extremamente simples e utilizadas apenas para gerar os códigos Pix. Por essa razão o sistema de login e usuários é tão simples quanto. Apenas uma array
com uma lista de usuários/senhas.
Também representam uma array
com todas as contas cadastradas, que poderão ser selecionadas durante a geração dos códigos Pix. Nada demais e, novamente, não são informações sensíveis, logo não há com o que se preocupar.
Neste caso, recomendando que crie as suas contas Pix na aplicação com as chaves aleatórias. Assim, você não expõe qualquer dado "sensível" como: e-mail, telefone, CPF ou CNPJ.
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.
Para implementá-lo nesta aplicação, utilizamos a nossa própria biblioteca piggly-dev/php-pix. Caso você tenha problemas com a sua Chave Pix, como:
- QR Code inválido;
- Pix Copia & Cola inválido.
Sugerimos que você abra uma issue
em nossa biblioteca pix, clicando aqui (lembre-se de seguir as instruções ao criar uma issue). Assim organizamos melhor a funcionalidade de cada uma das coisas.
Essa aplicação pode ser criada via Composer utilizando o seguinte comando composer create-project piggly/php-pix-app pix
.
Se você prefir você também pode clonar esse repositório com o comando git clone https://github.com/piggly-dev/php-pix-app.git
ou fazer o download da última versão clicando aqui.
Para facilitar a configuração desta aplicação. Habilitamos alguns comandos que ajudarão você a configurá-la. Para isso, você precisa ter acesso ao terminal
da sua máquina. Futuramente iremos implementar uma interface para essas configurações, mas por hora isso basta.
Vá para a pasta raiz da aplicação e execute o comando php bin/console app:install
. Basta seguir todas as orientações na tela. Abaixo, a listagem de todos os comandos disponíveis:
php bin/console app:install
Realiza todas as configurações iniciais do app.php bin/console user:change
Muda a senha do usuário.php bin/console user:create
Cria um novo usuário.php bin/console user:delete
Remove um usuário.php bin/console user:list
Lista todos os usuários.php bin/console account:create
Cria uma nova conta Pix.php bin/console account:delete
Remove uma conta Pix.php bin/console account:list
Lista todas as contas Pix.
Se você preferir ou não tiver acesso ao terminal
da sua máquina, poderá fazer as configurações manualmente. Primeiro vá para /app
e abra o arquivo .env
. Nele, configure as seguintes variáveis:
DOMAIN
escreva o domínio incluindo http(s). Por exemplo:https://pix.piggly.lab
;HTTPS
escrevatrue
se estiver usando https efalse
quando não;SITE_NAME
escreva (entre aspas) o nome para a aplicação. Por exemplo:"Pix por Piggly"
;SESSION_NAME
escreva (sem espaços) o nome para a sessão da aplicação. Por exemplo:pix_piggly_lab
;SECRET_KEY
crie uma chave aleatória com 32 caracteres ou mais e coloque aqui. Por exemplo:"XnPvo6Wu3RAAP6i72poT0FH0pIXjWwCwOSA9Taenbs4="
;BOOTSTRAP_CDN
escrevatrue
se deseja utilizar o CDN do Bootstrap efalse
se não. Recomendamosfalse
quando o acesso for interno (dentro de uma empresa), eles podem bloquear domínios desconhecidos e o.css
externo não irá funcionar; Quando não for o caso, utilizetrue
a política de cache será mais eficiente.
Depois, é a hora de configurar os usuário no arquivo /app/config/users.php
, basta seguir o formato:
<?php
return [
[
'_id' => '1',
'username' => 'usuario01',
'password' => 'senhaaleatoria',
],
];
E, por fim, configure as contas pix no arquivo /app/config/accounts.php
, basta seguir o formato:
<?php
return [
'conta-01' =>
[
'label' => 'Conta 01',
'merchantName' => 'Nome do Titular',
'merchantCity' => 'Cidade do Titular',
'keyType' => 'Tipo da Chave',
'key' => 'Chave',
],
'conta-02' =>
[
'label' => 'Conta 02',
'merchantName' => 'Nome do Titular',
'merchantCity' => 'Cidade do Titular',
'keyType' => 'Tipo da Chave',
'key' => 'Chave',
],
];
Em keyType
é importante escrever os valores corretos, okay? Confira a tabela abaixo quais são os valores válidos:
Tipo da Chave | $keyType |
---|---|
CPF/CNPJ | document |
email |
|
Telefone | phone |
Aleatória | random |
Veja abaixo as telas da aplicação, funcionando.
Veja o arquivo CHANGELOG para informações sobre todas as mudanças no código.
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.