2017 © Pedro Peláez
 

library nfe

NFe.io PHP Library

image

nfe/nfe

NFe.io PHP Library

  • Friday, July 27, 2018
  • by gblmarquez
  • Repository
  • 9 Watchers
  • 17 Stars
  • 4,032 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 7 Forks
  • 4 Open issues
  • 11 Versions
  • 9 % Grown

The README.md

Cliente PHP para emissão de notas fiscais - NFe.io

Onde acessar a documentação da API?

Acesse a nossa documentação para mais detalhes e referências., (*1)

Como realizar a instalação do pacote?

Você pode instalar via Composer, executando o comando a seguir:, (*2)

bash composer require nfe/nfe, (*3)

Para usar a biblioteca, use o Composer autoload:, (*4)

php require_once('vendor/autoload.php');, (*5)

Observação: A versão do PHP deverá ser 5.4 ou superior., (*6)

Dependencias

Esta biblioteca requer as seguintes extensões para funcionamento correto:, (*7)

- curl, (*8)

- json, (*9)

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., (*10)

Se você não quiser utilizar o Composer, você pode fazer o download de uma das últimas versões, utilizando o endereço https://github.com/nfe/client-php/releases, (*11)

Exemplos de uso

Depois de baixar o pacote, inclua a biblioteca em seu arquivo PHP, utilizando o código abaixo:, (*12)

php require_once("caminho-para/client-php/lib/init.php");, (*13)

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., (*14)

Como emitir uma Nota Fiscal de Serviço?

Abaixo, temos um código-exemplo para realizar uma Emissão de Nota Fiscal de Serviço:, (*15)

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);

Como cancelar uma nota?

Abaixo, temos um código-exemplo para efetuar o cancelamento de uma nota:, (*16)

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();
}

Como criar uma empresa para realizar a emissão de notas fiscais?

Abaixo, temos um código-exemplo de criação de uma empresa, para realizar a emissão de nota fiscal:, (*17)

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);

Como efetuar o download de uma nota em PDF?

Abaixo, temos um código exemplo para baixar uma nota em PDF:, (*18)

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) );

Como validar o Webhook?

PHP > 5.3, (*19)

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
}

Testes

Instale as dependências necessárias para executar os testes. O client-php do NFe utiliza SimpleTest. ``` bash composer update --dev, (*20)


Execute a comitiva de testes: ``` bash php ./test/NFe.php

The Versions

27/07 2018

dev-master

9999999-dev https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • ext-curl *
  • ext-json *
  • ext-mbstring *
  • php >=5.4

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

06/04 2018

2.5

2.5.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

22/01 2017

dev-new-class-name

dev-new-class-name https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

01/09 2016

2.4

2.4.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

31/08 2016

2.3

2.3.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

27/07 2016

2.2

2.2.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

27/07 2016

2.1

2.1.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

20/07 2016

2.0

2.0.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.4
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nota fiscal nota nfse nfe.io

13/07 2016

1.0.2

1.0.2.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.2
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nfse nfe.io

05/07 2016

1.0.1

1.0.1.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.2
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nfse nfe.io

09/06 2016

1.0.0

1.0.0.0 https://nfe.io

NFe.io PHP Library

  Sources   Download

MIT

The Requires

  • php >=5.2
  • ext-curl *
  • ext-json *
  • ext-mbstring *

 

The Development Requires

api nfe nfse nfe.io