### Instalar Cliente NFe.io com Composer Source: https://github.com/nfe/client-php/blob/master/README.md Instala o pacote do cliente NFe.io usando o Composer. Certifique-se de ter o Composer instalado e configurado em seu projeto PHP. ```bash composer require nfe/nfe ``` -------------------------------- ### Instalar Dependências para Testes (Bash) Source: https://github.com/nfe/client-php/blob/master/README.md Este comando utiliza o Composer para instalar as dependências necessárias para executar os testes do cliente PHP NFe.io. O projeto depende do framework de testes SimpleTest. ```bash composer update --dev ``` -------------------------------- ### Inicializar Cliente NFe.io em PHP Source: https://github.com/nfe/client-php/blob/master/README.md Inclui o arquivo de inicialização do cliente NFe.io. Este passo é necessário antes de usar qualquer funcionalidade da biblioteca. ```php require_once("caminho-para/client-php/lib/init.php"); ``` -------------------------------- ### Executar Testes (Bash) Source: https://github.com/nfe/client-php/blob/master/README.md Este comando executa a suíte de testes para o cliente PHP NFe.io. Certifique-se de que todas as dependências foram instaladas corretamente antes de executar este comando. ```bash php ./test/NFe.php ``` -------------------------------- ### Emitir Nota Fiscal de Serviço com NFe.io em PHP Source: https://github.com/nfe/client-php/blob/master/README.md Exemplo de como emitir uma nota fiscal de serviço utilizando o cliente PHP da NFe.io. É necessário definir a chave da API, o ID da empresa e os detalhes da nota fiscal, incluindo informações do tomador do serviço. ```php require_once("caminho-para/client-php/lib/init.php"); NFe_io::setApiKey('c73d49f9649046eeba36dcf69f6334fd'); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys) $invoiceCreated = NFe_ServiceInvoice::create( // ID da empresa, você deve copiar exatamente como está no painel '64555e0ee340420fdc94ad09', // Dados da nota fiscal de serviço array( // Código do serviço de acordo com o a cidade 'cityServiceCode' => '2690', // Descrição dos serviços prestados 'description' => 'TESTE EMISSAO', // Valor total do serviços 'servicesAmount' => 0.01, // Dados do Tomador dos Serviços 'borrower' => array( // CNPJ ou CPF (opcional para tomadores no exterior) 'federalTaxNumber' => 191, // Nome da pessoa física ou Razão Social da Empresa 'name' => 'BANCO DO BRASIL SA', // Email para onde deverá ser enviado a nota fiscal 'email' => 'nfe@mailinator.com', // Para visualizar os e-mails https://www.mailinator.com/ // Endereço do tomador 'address' => array( // Código do pais com três letras 'country' => 'BRA', // CEP do endereço (opcional para tomadores no exterior) 'postalCode' => '70073901', // Logradouro 'street' => 'Outros Quadra 1 Bloco G Lote 32', // Número (opcional) 'number' => 'S/N', // Complemento (opcional) 'additionalInformation' => 'QUADRA 01 BLOCO G', // Bairro 'district' => 'Asa Sul', // Cidade é opcional para tomadores no exterior 'city' => array( // Código do IBGE para a Cidade 'code' => '5300108', // Nome da Cidade 'name' => 'Brasilia' ), // Sigla do estado (opcional para tomadores no exterior) 'state' => 'DF' ) ) ) ); echo($invoiceCreated->id); ``` -------------------------------- ### Criar Empresa para Emissão de Nota Fiscal (PHP) Source: https://github.com/nfe/client-php/blob/master/README.md Este código demonstra como criar uma nova empresa na plataforma NFe.io para realizar a emissão de notas fiscais. É necessário configurar a chave API e fornecer os detalhes da empresa, incluindo informações de contato e endereço completo. ```php require_once("caminho-para/client-php/lib/init.php"); NFe_io::setApiKey("c73d49f9649046eeba36dcf69f6334fd"); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys) $companyCreated = NFe_Company::create( array( 'federalTaxNumber' => 87502637000164, // Use esse gerador para testar: http://www.geradordecnpj.org/ 'name' => 'BANCO DO BRASIL SA', 'tradeName' => 'BANCO DO BRASIL', 'email' => 'nfe@mailinator.com', // Para visualizar os e-mails https://www.mailinator.com/inbox2.jsp?public_to=nfe // Endereço da empresa 'address' => array( // Código do pais com três letras 'country' => 'BRA', // CEP do endereço (opcional para tomadores no exterior) 'postalCode' => '70073901', // Logradouro 'street' => 'Outros Quadra 1 Bloco G Lote 32', // Número (opcional) 'number' => 'S/N', // Complemento (opcional) 'additionalInformation' => 'QUADRA 01 BLOCO G', // Bairro 'district' => 'Asa Sul', // Cidade é opcional para tomadores no exterior 'city' => array( // Código do IBGE para a Cidade 'code' => '5300108', // Nome da Cidade 'name' => 'Brasilia' ), // Sigla do estado (opcional para tomadores no exterior) 'state' => 'DF' ) ) ); echo($companyCreated->id); ``` -------------------------------- ### Incluir Autoload do Composer em PHP Source: https://github.com/nfe/client-php/blob/master/README.md Inclui o arquivo de autoload do Composer para que as classes do cliente NFe.io possam ser utilizadas em seu script PHP. ```php require_once('vendor/autoload.php'); ``` -------------------------------- ### Download de Nota Fiscal em PDF (PHP) Source: https://github.com/nfe/client-php/blob/master/README.md Este exemplo de código mostra como baixar uma nota fiscal específica em formato PDF usando o cliente PHP NFe.io. É necessário fornecer o ID da empresa e o ID da nota fiscal para realizar o download. ```php require_once("caminho-para/client-php/lib/init.php"); NFe_io::setApiKey('c73d49f9649046eeba36dcf69f6334fd'); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys) $url = NFe_ServiceInvoice::pdf( '64555e0ee340420fdc94ad09', // ID da empresa, você deve copiar exatamente como está no painel 'wPi7i954QAcr6kmy17BtEKtN' // ID da nota fiscal ); file_put_contents( './invoice_file.pdf', file_get_contents($url) ); ``` -------------------------------- ### Cancelar Nota Fiscal com NFe.io em PHP Source: https://github.com/nfe/client-php/blob/master/README.md Exemplo de como cancelar uma nota fiscal existente utilizando o cliente PHP da NFe.io. É necessário definir a chave da API, o ID da empresa e o ID da nota fiscal a ser cancelada. ```php require_once("caminho-para/client-php/lib/init.php"); NFe_io::setApiKey("c73d49f9649046eeba36dcf69f6334fd"); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys) $invoice = NFe_ServiceInvoice::fetch( '64555e0ee340420fdc94ad09', // ID da empresa, você deve copiar exatamente como está no painel 'wPi7i954QAcr6kmy17BtEKtN' // ID da nota fiscal ); if ( $invoice->status == 'Issued' ) { $invoice->cancel(); } ``` -------------------------------- ### Validar Webhook (PHP) Source: https://github.com/nfe/client-php/blob/master/README.md Este código PHP implementa a validação de webhooks recebidos da plataforma NFe.io. Ele utiliza uma chave secreta definida para verificar a autenticidade da requisição, garantindo que os dados sejam provenientes de uma fonte confiável. ```php define('WEBHOOK_SECRET_KEY', 'COLOQUE SUA CHAVE DEFINIDA NO SITE AQUI'); function verify_webhook($data, $hmac_header) { $calculated_hmac = base64_encode(hash_hmac('sha1', $data, WEBHOOK_SECRET_KEY,true)); return ($hmac_header == $calculated_hmac); } $hmac_header = str_replace("sha1=", '', $_SERVER['HTTP_X_NFEIO_SIGNATURE']); $data = file_get_contents('php://input'); $verified = verify_webhook($data, $hmac_header); if(!$verified) { //Código para requisição que não foi validada } else { //Código para requisição validada } ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.