Caso encontre algum estado que possua uma regra especial para gerar uma GNRE por favor informar abrindo uma issue. Dessa forma podemos manter a API atualizada e ajudar a todos que utlizam a GNRE PHP
Se você possui um certificado da certisign e está com o erro "Bad request" veja a solução encontrada pelo renandelmonico utilizando as classes da sped-common nesse link
Os certificados da certisign possuem algum problema em que não é possível extrair a cadeia de certificação, portanto é necessário fazer o download da cadeia manualmente nesse link (Hierarquia V5).
Após o download é necessário extrair usando o openssl, copiar o conteúdo gerado pelos 3 certificados e colar em um novo arquivo .pem.
openssl x509 -inform der -in ARQUIVO.cer -pubkey -noout > ARQUIVO.pem
Depois de realizar o processo acima, é necessário utilizar o método addCurlOption da classe Sped\Gnre\Webservice\Connection para alterar algumas configurações e informar manualmente a cadeia de certificação.
$webService->addCurlOption([
CURLOPT_SSL_VERIFYHOST => 2,
CURLOPT_SSL_VERIFYPEER => 1,
CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1,
CURLOPT_CAINFO => 'ARQUIVO.pem'
]);
PHP | GNRE |
---|---|
PHP 5.6 | 0.1.4 |
HHVM | 0.1.4 |
PHP 7.0 | 0.1.5 |
PHP 7.3 | 0.1.6 |
-
Verifique se seu certificado digital não foi expedido através da certisign, pois existe um problema na cadeia do certificado que impossibilita a emissão de guias GNRE. Certificados expedidos através do SERASA funcionam normalmente para a emissão (até agora nenhum erro foi relatado).
-
É permitido utilizar o mesmo certificado utilizado para emitir NF-e.
-
É necessário entrar em contato com a SEFAZ de cada estado pedindo liberação do serviço de emissão de GNRE.
-
Leita todos os tópicos no FAQ oficial em http://www.gnre.pe.gov.br/gnre/portal/faq.jsp. Os tópicos abordados são muito úteis para quem está começando nesse serviço.
API possibilita a comunicação com a SEFAZ para a emissão da nota GNRE (Guia Nacional de Recolhimento de Tributos Estaduais). A API GNRE tem como maior inspiração a API NFEPHP que você pode encontrar através do link https://github.com/nfephp