Skip to content

Commit

Permalink
GNRE
Browse files Browse the repository at this point in the history
  • Loading branch information
luizkim committed Nov 27, 2023
1 parent 41770ca commit 0e04178
Show file tree
Hide file tree
Showing 22 changed files with 603 additions and 605 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ Antes de usar a API

- É 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 https://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.
- 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.

GNRE PHP
=================
Expand Down Expand Up @@ -88,10 +88,10 @@ Informações úteis
|Descrição|Endereço|
|---------|--------|
|Grupo de discussão | https://groups.google.com/forum/#!forum/gnrephp|
|Site oficial do governo | https://www.gnre.pe.gov.br/gnre/index.html|
|Site oficial do governo | http://www.gnre.pe.gov.br/gnre/index.html|
|Site do Projeto | http://nfephp-org.github.io/sped-gnre/|
|Wiki, onde é possível encontrar maiores informações de como utilizar a API | https://github.com/nfephp-org/sped-gnre/wiki|
|Site oficial da SEFAZ de todo os estados|https://www.gnre.pe.gov.br/gnre/portal/linksUteis.jsp|
|Site oficial da SEFAZ de todo os estados|http://www.gnre.pe.gov.br/gnre/portal/linksUteis.jsp|

1. Antes de gerar qualquer guia GNRE com o seu certificado, tenha **CERTEZA** que você possui autorização para isso. A geração de
GNRE depende de cada estado, ou seja, se você deseja gerar a guia para o Acre (com destino ao Acre) tenha certeza que
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ public function open($password)
$key = file_get_contents($this->filePath);
$dataCertificate = array();
if (!openssl_pkcs12_read($key, $dataCertificate, $password)) {
print_r($dataCertificate);
throw new CannotOpenCertificate($this->filePath);
}

Expand Down
2 changes: 1 addition & 1 deletion lib/Sped/Gnre/Exception/CannotOpenCertificate.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ public function __construct($certificate)
{
parent::__construct(
'Não foi possível abrir o certificado ' . $certificate . ' verifique a senha informada',
0,
null,
null
);
}
Expand Down
4 changes: 2 additions & 2 deletions lib/Sped/Gnre/Helper/GnreHelper.php
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ public static function getGuiaGnre($xmlNf): Guia
$guia->c03_idContribuinteEmitente = $xml->NrDocumentoEmpresa;
$guia->c18_enderecoEmitente = $xml->EnderecoEmpresa;

$guia->c19_municipioEmitente = 15004;//$xml->CdMunicipioEmpresa;
$guia->c19_municipioEmitente = 15004; //$xml->CdMunicipioEmpresa;

$guia->c20_ufEnderecoEmitente = $xml->UfEmpresa;
$guia->c17_inscricaoEstadualEmitente = $xml->NrIEEmpresa;
Expand All @@ -71,7 +71,7 @@ public static function getGuiaGnre($xmlNf): Guia
$guia->c35_idContribuinteDestinatario = $xml->NrDocumentoCliente;
$guia->c36_inscricaoEstadualDestinatario = $xml->NrIECliente;
$guia->c37_razaoSocialDestinatario = $xml->NmCliente;
$guia->c38_municipioDestinatario = '06200';//$xml->CdMunicipioCliente;
$guia->c38_municipioDestinatario = '06200'; //$xml->CdMunicipioCliente;

return $guia;
}
Expand Down
4 changes: 2 additions & 2 deletions lib/Sped/Gnre/Sefaz/ConfigUf.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ public function getHeaderSoap()
public function soapAction()
{
return $this->ambienteDeTeste ?
'http://www.testegnre.pe.gov.br/gnreWS/services/GnreConfigUF' :
'http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF';
'https://www.testegnre.pe.gov.br/gnreWS/services/GnreConfigUF' :
'https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF';
}

/**
Expand Down
4 changes: 2 additions & 2 deletions lib/Sped/Gnre/Sefaz/Consulta.php
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ public function getHeaderSoap()
public function soapAction()
{
return $this->ambienteDeTeste ?
'http://www.testegnre.pe.gov.br/gnreWS/services/GnreResultadoLote' :
'http://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote';
'https://www.testegnre.pe.gov.br/gnreWS/services/GnreResultadoLote' :
'https://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote';
}

/**
Expand Down
22 changes: 11 additions & 11 deletions lib/Sped/Gnre/Sefaz/Guia.php
Original file line number Diff line number Diff line change
Expand Up @@ -47,31 +47,31 @@ class Guia
/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c02_receita;

/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c25_detalhamentoReceita;

/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c26_produto;

/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c27_tipoIdentificacaoEmitente;
Expand All @@ -86,15 +86,15 @@ class Guia
/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c28_tipoDocOrigem;

/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c04_docOrigem;
Expand Down Expand Up @@ -125,7 +125,7 @@ class Guia
/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c15_convenio;
Expand Down Expand Up @@ -183,7 +183,7 @@ class Guia
/**
* Para esse atributo é esperado um dado do tipo inteiro
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var int
*/
private $c34_tipoIdentificacaoDestinatario;
Expand Down Expand Up @@ -264,7 +264,7 @@ class Guia
/**
* Para esse atributo é esperado um dado do tipo string
* para maiores informações visualizar a documentação oficial do GNRE
* https://www.gnre.pe.gov.br/gnre/index.html
* http://www.gnre.pe.gov.br/gnre/index.html
* @var string
*/
private $c42_identificadorGuia;
Expand Down Expand Up @@ -325,7 +325,7 @@ class Guia
* Dados retornados pelo web service da SEFAZ com a situação
* da guia, se foi processada com sucesso ou se houve erro.
* Para maiores informações sobre esse item consulte
* a documentação de retorno em https://www.gnre.pe.gov.br/gnre/portal/downloads.jsp
* a documentação de retorno em http://www.gnre.pe.gov.br/gnre/portal/downloads.jsp
* @var int
*/
private $retornoSituacaoGuia;
Expand All @@ -334,7 +334,7 @@ class Guia
* Dados retornados pelo web service da SEFAZ com o numero de sequencia
* que a guia tem na SEFAZ.
* Para maiores informações sobre esse item consulte
* a documentação de retorno em https://www.gnre.pe.gov.br/gnre/portal/downloads.jsp
* a documentação de retorno em http://www.gnre.pe.gov.br/gnre/portal/downloads.jsp
* @var type
*/
private $retornoSequencialGuia;
Expand Down
8 changes: 4 additions & 4 deletions lib/Sped/Gnre/Sefaz/Lote.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,8 +71,8 @@ public function setEstadoFactory(EstadoFactory $estadoFactory)
public function getHeaderSoap()
{
$action = $this->ambienteDeTeste ?
'http://www.testegnre.pe.gov.br/webservice/GnreLoteRecepcao' :
'http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao';
'http://www.testegnre.pe.gov.br/webservice/GnreRecepcaoLote' :
'http://www.gnre.pe.gov.br/webservice/GnreRecepcaoLote';

return array(
'Content-Type: application/soap+xml;charset=utf-8;action="' . $action . '"',
Expand All @@ -86,8 +86,8 @@ public function getHeaderSoap()
public function soapAction()
{
return $this->ambienteDeTeste ?
'http://www.testegnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao' :
'http://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao';
'https://www.testegnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao' :
'https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao';
}

/**
Expand Down
6 changes: 3 additions & 3 deletions testes/Sefaz/ConfigUfTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public function testDeveRetornarAacaoAserExecutadaNoSoap()
{
$consulta = new \Sped\Gnre\Sefaz\ConfigUf();

$this->assertEquals('http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF', $consulta->soapAction());
$this->assertEquals('https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF', $consulta->soapAction());
}

public function testDeveRetornarXmlCompletoVazioParaRealizarAconsulta()
Expand All @@ -55,14 +55,14 @@ public function testDeveRetornarAactionAserExecutadaNoWebServiceDeProducao()
{
$consulta = new \Sped\Gnre\Sefaz\ConfigUf();

$this->assertEquals($consulta->soapAction(), 'http://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF');
$this->assertEquals($consulta->soapAction(), 'https://www.gnre.pe.gov.br/gnreWS/services/GnreConfigUF');
}

public function testDeveRetornarAactionAserExecutadaNoWebServiceDeTestes()
{
$consulta = new \Sped\Gnre\Sefaz\ConfigUf();
$consulta->utilizarAmbienteDeTeste(true);

$this->assertEquals($consulta->soapAction(), 'http://www.testegnre.pe.gov.br/gnreWS/services/GnreConfigUF');
$this->assertEquals($consulta->soapAction(), 'https://www.testegnre.pe.gov.br/gnreWS/services/GnreConfigUF');
}
}
6 changes: 3 additions & 3 deletions testes/Sefaz/ConsultaTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public function testDeveRetornarAacaoAserExecutadaNoSoap()
{
$consulta = new \Sped\Gnre\Sefaz\Consulta();

$this->assertEquals('http://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote', $consulta->soapAction());
$this->assertEquals('https://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote', $consulta->soapAction());
}

public function testDeveRetornarXmlCompletoVazioParaRealizarAconsulta()
Expand All @@ -54,15 +54,15 @@ public function testDeveRetornarAactionAserExecutadaNoWebServiceDeProducao()
{
$consulta = new \Sped\Gnre\Sefaz\Consulta();

$this->assertEquals($consulta->soapAction(), 'http://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote');
$this->assertEquals($consulta->soapAction(), 'https://www.gnre.pe.gov.br/gnreWS/services/GnreResultadoLote');
}

public function testDeveRetornarAactionAserExecutadaNoWebServiceDeTestes()
{
$consulta = new \Sped\Gnre\Sefaz\Consulta();
$consulta->utilizarAmbienteDeTeste(true);

$action = 'http://www.testegnre.pe.gov.br/gnreWS/services/GnreResultadoLote';
$action = 'https://www.testegnre.pe.gov.br/gnreWS/services/GnreResultadoLote';
$this->assertEquals($consulta->soapAction(), $action);
}
}
10 changes: 5 additions & 5 deletions testes/Sefaz/LoteTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public function testDeveRetornarOsCabecalhosParaArequisicaoSoap()
$lote = new Lote();
$headersArray = $lote->getHeaderSoap();

$header = 'Content-Type: application/soap+xml;charset=utf-8;action="http://www.gnre.pe.gov.br/webservice/GnreLoteRecepcao"';
$header = 'Content-Type: application/soap+xml;charset=utf-8;action="http://www.gnre.pe.gov.br/webservice/GnreRecepcaoLote"';
$this->assertEquals($header, $headersArray[0]);
$this->assertEquals('SOAPAction: processar', $headersArray[1]);
}
Expand All @@ -26,14 +26,14 @@ public function testDeveUtilizarOAmbienteDeProducaoAoEnviarUmLoteParaOwebService
{
$lote = new Lote();

$this->assertEquals('http://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
$this->assertEquals('https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
}

public function testDeveRetornarAacaoAserExecutadaNoSoap()
{
$lote = new Lote();

$this->assertEquals('http://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
$this->assertEquals('https://www.gnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
}

public function testDeveRetornarOxmlDoLoteSemCamposExtrasEparaEmitenteEdestinatarioJuridicos()
Expand Down Expand Up @@ -313,7 +313,7 @@ public function testDeveUtilizarOAmbienteDeTestesAoEnviarUmLoteParaOwebService()
{
$lote = new Lote();
$lote->utilizarAmbienteDeTeste(true);
$this->assertEquals('http://www.testegnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
$this->assertEquals('https://www.testegnre.pe.gov.br/gnreWS/services/GnreLoteRecepcao', $lote->soapAction());
}

public function testDeveRetornarOsCabecalhosParaArequisicaoSoapAoWebServiceDeteste()
Expand All @@ -323,7 +323,7 @@ public function testDeveRetornarOsCabecalhosParaArequisicaoSoapAoWebServiceDetes

$headersArray = $lote->getHeaderSoap();

$header = 'Content-Type: application/soap+xml;charset=utf-8;action="http://www.testegnre.pe.gov.br/webservice/GnreLoteRecepcao"';
$header = 'Content-Type: application/soap+xml;charset=utf-8;action="http://www.testegnre.pe.gov.br/webservice/GnreRecepcaoLote"';
$this->assertEquals($header, $headersArray[0]);
$this->assertEquals('SOAPAction: processar', $headersArray[1]);
}
Expand Down
4 changes: 2 additions & 2 deletions xsd/v1/config_uf_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="https://www.gnre.pe.gov.br"
<schema targetNamespace="http://www.gnre.pe.gov.br"
elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="https://www.gnre.pe.gov.br">
xmlns:tns="http://www.gnre.pe.gov.br">
<include schemaLocation="tiposBasicoGNRE_v1.00.xsd"></include>
<simpleType name="TTipoValor">
<restriction base="string">
Expand Down
4 changes: 2 additions & 2 deletions xsd/v1/consulta_config_uf_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="https://www.gnre.pe.gov.br"
<schema targetNamespace="http://www.gnre.pe.gov.br"
elementFormDefault="qualified" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="https://www.gnre.pe.gov.br">
xmlns:tns="http://www.gnre.pe.gov.br">
<include schemaLocation="tiposBasicoGNRE_v1.00.xsd"></include>
<simpleType name="TReceita">
<restriction base="string">
Expand Down
2 changes: 1 addition & 1 deletion xsd/v1/lote_gnre_consulta_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="https://www.gnre.pe.gov.br"
<xs:schema targetNamespace="http://www.gnre.pe.gov.br"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
Expand Down
2 changes: 1 addition & 1 deletion xsd/v1/lote_gnre_recibo_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="https://www.gnre.pe.gov.br"
<xs:schema targetNamespace="http://www.gnre.pe.gov.br"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
Expand Down
2 changes: 1 addition & 1 deletion xsd/v1/lote_gnre_result_v1.00.xsd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema targetNamespace="https://www.gnre.pe.gov.br"
<xs:schema targetNamespace="http://www.gnre.pe.gov.br"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
Expand Down
Loading

0 comments on commit 0e04178

Please sign in to comment.