mariolucasdev / efi_gerencianet_integration
Integration With Efi Payments
dev-main
2023-04-21 23:59 UTC
Requires
This package is auto-updated.
Last update: 2024-04-22 02:03:55 UTC
README
Faça o donwload do pacote ou instale via composer:
composer require mariolucasdev/efi_gerencianet_integration
Instale as dependências:
composer install
Credenciais, Certificado e Autorização
Para ter acesso as suas chaves de identificação de Produção e Homologação, basta seguir as intruções no site da do próprio Gerencianet:
https://dev.gerencianet.com.br/docs/api-pix-autenticacao-e-seguranca
Com sua credenciais geradas crie um arquivo chamado contants.php com as seguintes configurações.
// Credenciais para ambiente de produção define('CLIENT_ID', ''); define('CLIENT_SECRET', ''); // Credenciais para ambiente de homologação define('SANDBOX_CLIENT_ID', ''); define('SANDBOX_CLIENT_SECRET', '');
Utilização
Carregue o autoload e seu arquivo contants.php que contém suas credenciais.
Obs.: Para ambiente de Homologação utilize o 3º parâmetro como true ou false, para produção.
require __DIR__ . "/../../vendor/autoload.php"; require __DIR__ . "/../../constants.php"; $efi = new App\EfiBankBillet(SANDBOX_CLIENT_ID, SANDBOX_CLIENT_SECRET, true);
Gerando o Boleto
$metadata = array( "custom_id" => "", // Identificação personalizada da cobrança "notification_url" => "" //Url para recebimento de notificação sobre alteração na cobrança ); $items = array( array( "name" => "", // Descrição do Produto ou Serviço "amount" => 1, // Quantidade "value" => 9990 // Valor Obs.: 9999 é o equivalente à R$ 90,90 ) ); // Apenas Nome e CPF são obrigatórios, para ver os demais parâmetros disponíveis veja a documentação oficial https://dev.gerencianet.com.br/docs/gerar-boleto-bancario $customer = array( "name" => "Mário Lucas", "cpf" => "09102295466", // "email" => "seucliente@email.com" ); $efi = new App\EfiBankBillet(SANDBOX_CLIENT_ID, SANDBOX_CLIENT_SECRET, true); $efi->setMetadata($metadata); $efi->setItems($items); $efi->setCustomer($customer); $efi->setConfigurations(200, 33) //Multa 2% e Juros 0,33%/dia; // A data deve ser no formato Ano-mês-dia Ex: 2023-04-21 $chargeData = $efi->createOneStepCharge($data, $mensagem);
Se correr tudo bem com o envio, você terá dados de resposta semelhante ao exemplo a baixo:
{ "code": 200, // retorno HTTP "200" informando que o pedido foi bem sucedido "data": { "barcode": "00000.00000 00000.000000 00000.000000 0 00000000000000", // linha digitável do boleto "pix":{ "qrcode":"00020101021226990014BR.GOV.BCB.PIX2577qrcodes-pix.gerencianet.com.br/bolix/v2/cobv/0000000000000000000000000000GERENCIANET SA6010OURO PRETO62070503***63047CB1", // BRCode ou copia e cola "qrcode_image":"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmc vMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0NSA0NSIgc2hhcGUtcmVuZGVyaW5nPSJjcmlzcEVkZ2VzIj48cGF0aCBmaWxsPSIjZmZmZmZmIiBkPSJNMCAwaDQ1djQ1SD..." // QR Code imagem }, "link": "link_https_para_acesso_o_bolix", // link responsivo do Bolix gerado "billet_link":"link_https_para_acesso_o_bolix", // link do Bolix gerado "pdf": { "charge": "link_https_do_pdf_da_cobranca" // link do PDF do Bolix }, "expire_at": "2022-12-15", // data de vencimento do boleto no seguinte formato: 2022-12-15 (ou seja, equivale a 15/12/2022) "charge_id": numero_charge_id, // número da ID referente à transação gerada "status": "waiting", // forma de pagamento selecionada, aguardando a confirmação do pagamento ("waiting" equivale a "aguardando") "total": 5990, // valor, em centavos. Por exemplo: 5990 (equivale a R$ 59,90) "payment": "banking_billet" // forma de pagamento associada à esta transação ("banking_billet" equivale a "boleto bancário") } }
Editando Metadados do Boleto
require __DIR__ . "/../../vendor/autoload.php"; require __DIR__ . "/../../constants.php"; $efi = new App\EfiBankBillet(SANDBOX_CLIENT_ID, SANDBOX_CLIENT_SECRET, true); // Você precisará do charge_id da cobrança. $chargeId = ''; // Os metados poderão ser alterados aqui $metadata = array( "custom_id" => "new_custom_id_8387", "notification_url" => "https://new-domain.com.br/notification/" ); // retornará true ou mensagem de excessão. $efi->updateChargeMetada($chargeId, $metadata);