{"id":13405216,"url":"https://github.com/nfe/client-php","last_synced_at":"2025-12-13T04:14:13.912Z","repository":{"id":30938096,"uuid":"34496110","full_name":"nfe/client-php","owner":"nfe","description":"Official NFe.io API Client for PHP","archived":false,"fork":false,"pushed_at":"2019-09-04T19:47:55.000Z","size":461,"stargazers_count":40,"open_issues_count":4,"forks_count":18,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-09-19T11:49:24.772Z","etag":null,"topics":["client-php","composer","nfe","packagist","pacote"],"latest_commit_sha":null,"homepage":"https://nfe.io","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nfe.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.MD","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-24T03:34:44.000Z","updated_at":"2024-05-08T16:52:55.000Z","dependencies_parsed_at":"2022-08-23T16:20:31.190Z","dependency_job_id":null,"html_url":"https://github.com/nfe/client-php","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfe%2Fclient-php","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfe%2Fclient-php/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfe%2Fclient-php/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nfe%2Fclient-php/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nfe","download_url":"https://codeload.github.com/nfe/client-php/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221454077,"owners_count":16824598,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["client-php","composer","nfe","packagist","pacote"],"created_at":"2024-07-30T19:01:57.450Z","updated_at":"2025-12-13T04:14:08.859Z","avatar_url":"https://github.com/nfe.png","language":"PHP","funding_links":[],"categories":["PHP"],"sub_categories":[],"readme":"# Cliente PHP para emissão de notas fiscais - NFe.io\n\n## Onde acessar a documentação da API?\n\n\u003e Acesse a [nossa documentação](https://nfe.io/doc/rest-api/nfe-v1) para mais detalhes e referências.\n\n## Como realizar a instalação do pacote?\n\n  Você pode instalar via [Composer](http://getcomposer.org/), executando o comando a seguir:\n\n  ```bash\n  composer require nfe/nfe\n  ```\n\n  Para usar a biblioteca, use o [Composer autoload](https://getcomposer.org/doc/00-intro.md#autoloading):\n\n  ```php\n  require_once('vendor/autoload.php');\n  ```\n\u003e **Observação**: A versão do PHP deverá ser 5.4 ou superior.\n\n## Dependencias\n\n  Esta biblioteca requer as seguintes extensões para funcionamento correto:\n\n  **-** [`curl`](https://secure.php.net/manual/en/book.curl.php)\n\n  **-** [`json`](https://secure.php.net/manual/en/book.json.php)\n\n  Se você usa o Composer, essas dependencias são gerenciadas automaticamente. Caso tenha feito a instalação manual, você precisa ter certeza que estas extensões estão instaladas e disponíveis.\n\n \u003e Se você não quiser utilizar o Composer, você pode fazer o download de uma das últimas versões, utilizando o endereço\n[https://github.com/nfe/client-php/releases](https://github.com/nfe/client-php/releases)\n\n## Exemplos de uso\n\n  Depois de baixar o pacote, inclua a biblioteca em seu arquivo PHP, utilizando o código abaixo:\n\n  ```php\n  require_once(\"caminho-para/client-php/lib/init.php\");\n  ```\n  \u003e **Observação**: Caso você utilizar mais de um arquivo .php para fazer a integração, o código acima deverá ser replicado nos outros arquivos.\n\n### Como emitir uma Nota Fiscal de Serviço?\nAbaixo, temos um código-exemplo para realizar uma Emissão de Nota Fiscal de Serviço:\n\n```php\nrequire_once(\"caminho-para/client-php/lib/init.php\");\n\nNFe_io::setApiKey('c73d49f9649046eeba36dcf69f6334fd'); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys)\n\n$invoiceCreated = NFe_ServiceInvoice::create(\n  // ID da empresa, você deve copiar exatamente como está no painel\n  '64555e0ee340420fdc94ad09',\n  // Dados da nota fiscal de serviço\n  array(\n    // Código do serviço de acordo com o a cidade\n    'cityServiceCode' =\u003e '2690',\n    // Descrição dos serviços prestados\n    'description'     =\u003e 'TESTE EMISSAO',\n    // Valor total do serviços\n    'servicesAmount'  =\u003e 0.01,\n    // Dados do Tomador dos Serviços\n    'borrower' =\u003e array(\n      // CNPJ ou CPF (opcional para tomadores no exterior)\n      'federalTaxNumber' =\u003e 191,\n      // Nome da pessoa física ou Razão Social da Empresa\n      'name'             =\u003e 'BANCO DO BRASIL SA',\n      // Email para onde deverá ser enviado a nota fiscal\n      'email'            =\u003e 'nfe@mailinator.com', // Para visualizar os e-mails https://www.mailinator.com/\n      // Endereço do tomador\n      'address'          =\u003e array(\n        // Código do pais com três letras\n        'country'               =\u003e 'BRA',\n        // CEP do endereço (opcional para tomadores no exterior)\n        'postalCode'            =\u003e '70073901',\n        // Logradouro\n        'street'                =\u003e 'Outros Quadra 1 Bloco G Lote 32',\n        // Número (opcional)\n        'number'                =\u003e 'S/N',\n        // Complemento (opcional)\n        'additionalInformation' =\u003e 'QUADRA 01 BLOCO G',\n        // Bairro\n        'district'              =\u003e 'Asa Sul',\n        // Cidade é opcional para tomadores no exterior\n        'city' =\u003e array(\n            // Código do IBGE para a Cidade\n            'code' =\u003e '5300108',\n            // Nome da Cidade\n            'name' =\u003e 'Brasilia'\n        ),\n        // Sigla do estado (opcional para tomadores no exterior)\n        'state' =\u003e 'DF'\n      )\n    )\n  )\n);\n\necho($invoiceCreated-\u003eid);\n```\n\n### Como cancelar uma nota?\nAbaixo, temos um código-exemplo para efetuar o cancelamento de uma nota: \n\n```php\nrequire_once(\"caminho-para/client-php/lib/init.php\");\n\nNFe_io::setApiKey(\"c73d49f9649046eeba36dcf69f6334fd\"); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys)\n\n$invoice = NFe_ServiceInvoice::fetch(\n  '64555e0ee340420fdc94ad09', // ID da empresa, você deve copiar exatamente como está no painel\n  'wPi7i954QAcr6kmy17BtEKtN'  // ID da nota fiscal\n);\n\nif ( $invoice-\u003estatus == 'Issued' ) {\n  $invoice-\u003ecancel();\n}\n```\n### Como criar uma empresa para realizar a emissão de notas fiscais?\nAbaixo, temos um código-exemplo de criação de uma empresa, para realizar a emissão de nota fiscal:\n\n```php\nrequire_once(\"caminho-para/client-php/lib/init.php\");\n\nNFe_io::setApiKey(\"c73d49f9649046eeba36dcf69f6334fd\"); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys)\n\n$companyCreated = NFe_Company::create(\n  array(\n    'federalTaxNumber' =\u003e 87502637000164, // Use esse gerador para testar: http://www.geradordecnpj.org/\n    'name'             =\u003e 'BANCO DO BRASIL SA',\n    'tradeName'        =\u003e 'BANCO DO BRASIL',\n    'email'            =\u003e 'nfe@mailinator.com', // Para visualizar os e-mails https://www.mailinator.com/inbox2.jsp?public_to=nfe\n     // Endereço da empresa\n    'address'          =\u003e array(\n      // Código do pais com três letras\n      'country'               =\u003e 'BRA',\n      // CEP do endereço (opcional para tomadores no exterior)\n      'postalCode'            =\u003e '70073901',\n      // Logradouro\n      'street'                =\u003e 'Outros Quadra 1 Bloco G Lote 32',\n      // Número (opcional)\n      'number'                =\u003e 'S/N',\n      // Complemento (opcional)\n      'additionalInformation' =\u003e 'QUADRA 01 BLOCO G',\n      // Bairro\n      'district'              =\u003e 'Asa Sul',\n      // Cidade é opcional para tomadores no exterior\n      'city' =\u003e array(\n          // Código do IBGE para a Cidade\n          'code' =\u003e '5300108',\n          // Nome da Cidade\n          'name' =\u003e 'Brasilia'\n      ),\n      // Sigla do estado (opcional para tomadores no exterior)\n      'state' =\u003e 'DF'\n    )\n  )\n);\n\necho($companyCreated-\u003eid);\n```\n\n### Como efetuar o download de uma nota em PDF?\nAbaixo, temos um código exemplo para baixar uma nota em PDF:\n\n```php\nrequire_once(\"caminho-para/client-php/lib/init.php\");\n\nNFe_io::setApiKey('c73d49f9649046eeba36dcf69f6334fd'); // Ache sua chave API no painel (https://app.nfe.io/account/apikeys)\n\n$url = NFe_ServiceInvoice::pdf(\n  '64555e0ee340420fdc94ad09', // ID da empresa, você deve copiar exatamente como está no painel\n  'wPi7i954QAcr6kmy17BtEKtN'  // ID da nota fiscal\n);\n\nfile_put_contents( './invoice_file.pdf', file_get_contents($url) );\n```\n\n### Como validar o Webhook?\n\nPHP \u003e 5.3\n```\ndefine('WEBHOOK_SECRET_KEY', 'COLOQUE SUA CHAVE DEFINIDA NO SITE AQUI');\nfunction verify_webhook($data, $hmac_header)\n{\n    $calculated_hmac = base64_encode(hash_hmac('sha1', $data, WEBHOOK_SECRET_KEY,true));\n    return ($hmac_header == $calculated_hmac);\n}\n\n$hmac_header = str_replace(\"sha1=\", '', $_SERVER['HTTP_X_NFEIO_SIGNATURE']);\n$data = file_get_contents('php://input');\n$verified = verify_webhook($data, $hmac_header);\nif(!$verified) {\n\t//Código para requisição que não foi validada\n} else {\n\t//Código para requisição validada\n}\n```\n## Testes\n\nInstale as dependências necessárias para executar os testes. O client-php do NFe utiliza [SimpleTest](http://simpletest.org/).\n``` bash\ncomposer update --dev\n```\n\nExecute a comitiva de testes:\n``` bash\nphp ./test/NFe.php\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfe%2Fclient-php","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnfe%2Fclient-php","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnfe%2Fclient-php/lists"}