Git Product home page Git Product logo

sped-gnre's Introduction

Build status (PHP Composer) Coverage Status Total Downloads Latest Stable Version Latest Unstable Version License

Atenção!!

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

Atenção 2!!

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

Versões suportadas

PHP GNRE
PHP 5.6 0.1.4
HHVM 0.1.4
PHP 7.0 0.1.5
PHP 7.3 0.1.6

Antes de usar a API

  • 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.

GNRE PHP

Objetivo

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

Dependências


Road-map

Atualmente estamos utilizando o trello para gerenciar o que será implementado nas próximas versões e melhorias na API, esse road map poe ser acessado em https://trello.com/b/kNP1tvsi/gnre-api-github


Informações úteis

Descrição Endereço
Grupo de discussão https://groups.google.com/forum/#!forum/gnrephp
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 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 já pediu a liberação do certificado no SEFAZ Acre e repita esse processo para cada estado.

Documentação

  • Documentação da GNRE PHP gerada com o PHPDOC pode ser visualizada aqui

  • Nosso wiki de como utilizar a API e gerar as GNRES está disponível aqui no github

  • Exemplos com código fonte são encontrados na pasta exemplos/

Instalação via composer

Adicionando a GNRE PHP em um projeto existente com o composer

Caso você não possua o composer veja esse link antes de prosseguir

Adicione a dependência da GNRE PHP no arquivo composer.json :

Para PHP <= 5.5

{
    "nfephp-org/sped-gnre": "0.1.1"
}

Para PHP = 5.6

{
    "nfephp-org/sped-gnre": "0.1.4"
}

Para PHP >= 7.0

{
    "nfephp-org/sped-gnre": "0.1.5"
}

Atualize suas depedências existentes no composer :

composer update

Possíveis erros

Erro : unable to use client certificate (no key found or wrong pass phrase?)

Se você está obtendo essa mensagem após enviar a requisição para o web service da SEFAZ verifique a senha que você está utilizando, pois esse erro ocorre quando a senha informada não bate com a senha do certificado utilizado

Erro: [InvalidArgumentException] Could not find package marabesi/gnre at any version for your minimum-stability (stable). Check the package spelling or your minimum-stability

Esse problema ocorre pois não estamos informando ao composer qual a versão mínima que queremos utilizar, para resolver esse problema basta adicionar a seguinte linha no seu arquivo composer.json

{
    "minimum-stability": "dev"
}

Quick start

Clone o repositório do projeto

git clone https://github.com/nfephp-org/sped-gnre.git

Vá para a pasta de exemplos

cd exemplos/

Rode o servidor built-in do PHP

php -S localhost:8181

Abra o seu navegador e digite a seguinte URL

http://localhost:8181/gerar-xml.php

Caso queira ver outros exemplos utilizados pela API acesse esse link https://github.com/nfephp-org/sped-gnre/tree/master/exemplos

sped-gnre's People

Contributors

anteriovieira avatar carusogabriel avatar dbemfica avatar dependabot[bot] avatar eduardoturconi avatar felipe-colussi avatar llpereiras avatar luizkim avatar marabesi avatar mathmarques avatar renandelmonico avatar robmachado avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sped-gnre's Issues

Extração de dados do certificado

Recentemente tentei extrair os dados do certificado utilizando os métodos fornecidos pela SPED-GNRE e não obtive sucesso.

Apesar dos arquivos .pem serem gerados eles constam como "inválidos" na requisição ao webservice do governo.

Duas possíveis soluções:

  1. Remover a parte de manipulação de certificados dessa API e utilizar o que a SPED-NFE possuí (O da NFE funciona perfeitamente)

  2. Verificar o problema e ver em qual parte está o erro da extração dos dados

Numero de Lote

Pessoal, alguem sabe alguma forma melhor para eu pegar o numero do lote que é retornado no envio para a sefaz, exemplo:
Essa é a string que é retornada, e eu preciso pegar apenas os numero que estão em negrito
1100Lote recebido com Sucesso16055511792016-02-05 09:51:09200

Agradeço o apoio!

Gerar GNRE DO DF

Sabem me informar se há uma propriedade para o campo *INSCRITO UF FAVORECIDA, na classe guia?

captura de tela 2016-01-28 as 10 51 21

Alguns pacotes de dependências estão abandonados ou obsoletos.

Abaixo relação dos pacotes.

  • Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.

  • Package guzzle/guzzle is abandoned, you should avoid using it. Use guzzlehttp/guzzle instead.

  • Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.

  • Package satooshi/php-coveralls is abandoned, you should avoid using it. Use php-coveralls/php-coveralls instead.

  • Package zendframework/zend-barcode is abandoned, you should avoid using it. Use laminas/laminas-barcode instead.

  • Package zendframework/zend-diactoros is abandoned, you should avoid using it. Use laminas/laminas-diactoros instead.

  • Package zendframework/zend-servicemanager is abandoned, you should avoid using it. Use laminas/laminas-servicemanager instead.

  • Package zendframework/zend-stdlib is abandoned, you should avoid using it. Use laminas/laminas-stdlib instead.

  • Package zendframework/zend-validator is abandoned, you should avoid using it. Use laminas/laminas-validator instead.

Dom Pdf

O dompdf utilizado na versão 0.8.* está causando problemas com as versões mais novas do PHP.

A versão ^1.0 já tem isso corrigido e não muda a sintaxe

Conseguem corrigir?

Erro no Template

No arquivo "sped-gnre/templates/gnre.tpl" linha 114, a UF do emitente está fixa "SP"

Erro Consulta

Alguem sabe que erro é esse na consulta:

<url> malformed

Erro de dependência

Olá pessoal, tudo bem?
Estou tentando instalar via composer o package na versão 0.1.4.
Meu PHP é o 5.6, estou utilizando laravel 4.2. Ao atualizar o composer, o seguinte errro é lançado:

nfephp-org/sped-gnre 0.1.4 requires satooshi/php-coveralls dev-master -> no matching package found

Porém, o package php-coveralls na versão dev-master não é instalado/encontrado com sucesso, mesmo manualmente incluindo a depedencia no composer. Ao trocar para uma versão específica, exemplo:

satooshi/php-coveralls 2.0.0

O mesmo erro de instalação do php-gnre ocorre, uma vez que ele não encontra a dependência dev-master do outro pacote.

Como posso resolver esse erro de package?

Incompatibilidade com sped-nfe

Ao instalar os pacotes no composer, algumas dependências são incompatíveis:

Problem 1
- Conclusion: remove zendframework/zend-barcode 2.3.9
- zendframework/zend-barcode 2.3.8 requires zendframework/zend-validator 2.3.8 -> satisfiable by zendframework/zend-validator[2.3.8].
- Conclusion: don't install zendframework/zend-validator 2.3.8
- zendframework/zend-barcode 2.3.7 requires zendframework/zend-validator 2.3.7 -> satisfiable by zendframework/zend-validator[2.3.7].
- Conclusion: don't install zendframework/zend-validator 2.3.7
- zendframework/zend-barcode 2.3.6 requires zendframework/zend-validator 2.3.6 -> satisfiable by zendframework/zend-validator[2.3.6].
- Conclusion: don't install zendframework/zend-validator 2.3.6
- zendframework/zend-barcode 2.3.5 requires zendframework/zend-validator 2.3.5 -> satisfiable by zendframework/zend-validator[2.3.5].
- Conclusion: don't install zendframework/zend-validator 2.3.5
- zendframework/zend-barcode 2.3.4 requires zendframework/zend-validator 2.3.4 -> satisfiable by zendframework/zend-validator[2.3.4].
- Conclusion: don't install zendframework/zend-validator 2.3.4
- zendframework/zend-barcode 2.3.3 requires zendframework/zend-validator 2.3.3 -> satisfiable by zendframework/zend-validator[2.3.3].
- Conclusion: don't install zendframework/zend-validator 2.3.3
- zendframework/zend-barcode 2.3.2 requires zendframework/zend-validator 2.3.2 -> satisfiable by zendframework/zend-validator[2.3.2].
- Conclusion: don't install zendframework/zend-validator 2.3.2
- zendframework/zend-barcode 2.3.1 requires zendframework/zend-validator 2.3.1 -> satisfiable by zendframework/zend-validator[2.3.1].
- Conclusion: don't install zendframework/zend-validator 2.3.1
- zendframework/zend-barcode 2.3.0 requires zendframework/zend-validator 2.3.0 -> satisfiable by zendframework/zend-validator[2.3.0].
- Conclusion: don't install zendframework/zend-validator 2.3.0
- Conclusion: don't install zendframework/zend-stdlib 3.0.1
- Installation request for nfephp-org/sped-nfe dev-master -> satisfiable by nfephp-org/sped-nfe[dev-master].
- Conclusion: don't install zendframework/zend-stdlib 2.3.9|install zendframework/zend-stdlib 3.0.1
- marabesi/gnre dev-master requires zendframework/zend-barcode 2.3.@dev -> satisfiable by zendframework/zend-barcode[2.3.9, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8].
- marabesi/gnre dev-master requires zendframework/zend-barcode 2.3.
@dev -> satisfiable by zendframework/zend-barcode[2.3.9, 2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8].
- zendframework/zend-barcode 2.3.9 requires zendframework/zend-stdlib 2.3.9 -> satisfiable by zendframework/zend-stdlib[2.3.9].
- Conclusion: remove zendframework/zend-stdlib 2.3.9|install zendframework/zend-stdlib 3.0.1
- Installation request for marabesi/gnre dev-master -> satisfiable by marabesi/gnre[dev-master].

Remover PHPUNIT warning

PHPUnit 5.7.19 by Sebastian Bergmann and contributors.

...............W................................................. 65 / 67 ( 97%)
..                                                                67 / 67 (100%)

Time: 1.1 seconds, Memory: 8.00MB

There was 1 warning:

1) Sped\Gnre\Render\Test\PdfTest::testDeveCriarOpdfApartirDoHtml
Trying to configure method "getDomPdf" which cannot be configured because it does not exist, has not been specified, is final, or is static

WARNINGS!
Tests: 67, Assertions: 92, Warnings: 1.

Atualização para o PHP7

Vi que logo logo iremos ter o PHP 7.2 e com isso me veio a dúvida de migrar essa API para o formato do PHP7, atualizar com type hints e algumas outras funcionalidades.

Gostaria de saber a opinião de quem usa a API. Seria esse o próximo passo?

Ambiente de homologação (2)

Até o momento não foi encontrado na documentação original da SEFAZ como especificar o ambiente de homologação para o envio de lotes das guias GNRE.

Certificado emitido pela certisign

Estou tentando utilizar o código de vocês para gerar GNREs.

Atualmente estou tendo problemas para utilizar certificados da CertSing.

Ao ler o Read-me notei que em uma parte vocês falam que isso não funciona e na outra dão 1 ~ 2 soluções.
A primeira solução Se você possui um certificado da certisign e está com o erro "Bad request" veja a solução encontrada pelo [renandelmonico](https://github.com/renandelmonico) utilizando as classes da sped-common nesse [link](https://groups.google.com/d/msg/gnrephp/kbNWB3aEBbs/0g067FKlBgAJ)
não abre o link.
A segunda também não funcionou.

Até o momento eu tentei:
-> Seguir o passo a passo da wiki.
-> Criar uma classe que herdasse o Setup e pegasse os dados do método "certificate".
-> Criar uma classe que estendesse SoapRequest (usado nos projetos php-nfe e php-cte) e chamasse o serviço de comunicação.

estas 3 opções resultam no erro: error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate

Seguindo a 2ª opção (de baixar e extrair a Hierarquia V5 da serasa e passar a mesma), ou fazendo a opção sugerida nessa issue eu tenho o erro :

error setting certificate verify locations:
CAfile: arq.pem

Tentei extrair tanto o arquivo da V5, quando os dados do meu certificado digital.
OBS: Os arquivos estão com permissão máxima e o diretório existe. Tentei tanto um fullpath quanto só o arquivo. Ao que tudo indica esse problema esta ocorrendo pois o PHP não esta conseguindo ler/abrir o arquivo, se eu uso outro CAfile ele funciona mas retorna o mesmo erro de bad certificate.

Qualquer luz de o que mais eu possa tentar / como proceder me ajudaria bastante.

OBS: consegui um certificado da Serasa, com este funcionou normalmente.

Retorno do webservice

Bom pessoal, estou utilizando a API, primeiro quero parabenizar, vocês são fodas mesmo.
Mas falando em termos técnicos, estou tentando realizar a requisição, porém, o retorno do doRequest do webservice é vazio,
Não me retorna nada. Estou fazendo algo de errado? Só para ressaltar, fiz a solicitação de uso do webservice de teste ontem, eles me deram retorno que estava liberado para realizar as requisições.

image

image

Forbidden

Estou tentando conectar no site para gerar a GNRE e está retornando a seguinte mensagem de erro

Forbidden
You don't have permission to access /gnreWS/services/GnreLoteRecepcao on this server.
IBM_HTTP_Server at www.gnre.pe.gov.br Port 443

Estou utilizando o mesmo certificado para conectar com o Sefaz da NFe.

public function getCertificateName() {
    return "certificado.pfx";
}

public function getCertificateDirectory() {
        return "/var/www/html/testes/nfephpgnre/exemplos/";
}

public function getCertificatePemFile() {
    return "mycert.pem";  //Contém public e private key
}

public function getPrivateKey() {
    return "private.pem"; //Contém private key
}

Alguém conseguiu solucionar esse problema?
Obrigado

Atende SP?

Gostaria de saber se a API atende o estado de SP.

Incluir debug mode

Adicionar a possibilidade de setar um modo debug para exibir o retorno da requisição/resposta.

Atualizar dependências para compatibilizar com php 8

Problem 1
- laminas/laminas-servicemanager[3.0.0, ..., 3.1.2] require php ^5.5 || ^7.0 -> your php version (8.1.5) does not satisfy that requirement.
- laminas/laminas-servicemanager[3.2.0, ..., 3.5.x-dev] require php ^5.6 || ^7.0 -> your php version (8.1.5) does not satisfy that requirement.
- laminas/laminas-servicemanager[3.6.0, ..., 3.7.x-dev] require php ^7.3 || ~8.0.0 -> your php version (8.1.5) does not satisfy that requirement.
- laminas/laminas-servicemanager[3.8.0, ..., 3.12.x-dev] require psr/container ^1.0 -> found psr/container[1.0.0, ..., 1.x-dev] but these were not loaded, likely because it conflicts with another require.
- nfephp-org/sped-gnre 0.2.1 requires laminas/laminas-servicemanager ~3.0 -> satisfiable by laminas/laminas-servicemanager[3.0.0, ..., 3.12.x-dev].
- Root composer.json requires nfephp-org/sped-gnre ^0.2.1 -> satisfiable by nfephp-org/sped-gnre[0.2.1].

Erro com o composer no Laravel

Opa, estou tentando instalar hoje o dia inteiro porém recebo muitos erros de duplicidade pois já utilizo o nfephp para emitir nota. O que eu faço?

Problem 1
    - Conclusion: remove nfephp-org/nfephp dev-carioca
    - Conclusion: remove zendframework/zend-mail 2.8.x-dev
    - Conclusion: don't install zendframework/zend-mail 2.8.x-dev
    - Conclusion: don't install zendframework/zend-mail 2.7.x-dev
    - Conclusion: don't install zendframework/zend-mail 2.7.1
    - Conclusion: don't install zendframework/zend-mail 2.7.0
    - Conclusion: don't install zendframework/zend-mail 2.6.2
    - Conclusion: don't install zendframework/zend-mail 2.6.1
    - Conclusion: don't install zendframework/zend-mail 2.6.0
    - Conclusion: don't install zendframework/zend-mail 2.5.2
    - nfephp-org/nfephp dev-carioca requires zendframework/zend-mail ^2.5 -> satisfiable by zendframework/zend-mail[2.8.x-dev, 2.5.0, 2.5.1, 2.5.2, 2.6.0, 2.6.1, 2.6.2, 2.7.0, 2.7.1, 2.7.x-dev].
    - Conclusion: don't install zendframework/zend-mail 2.5.1
    - zendframework/zend-barcode 2.3.9 requires zendframework/zend-validator 2.3.9 -> satisfiable by zendframework/zend-validator[2.3.9].
    - Conclusion: don't install zendframework/zend-validator 2.3.9
    - zendframework/zend-barcode 2.3.8 requires zendframework/zend-validator 2.3.8 -> satisfiable by zendframework/zend-validator[2.3.8].
    - Conclusion: don't install zendframework/zend-validator 2.3.8
    - Conclusion: don't install zendframework/zend-stdlib 2.5.2
    - zendframework/zend-barcode 2.3.7 requires zendframework/zend-validator 2.3.7 -> satisfiable by zendframework/zend-validator[2.3.7].
    - Conclusion: don't install zendframework/zend-validator 2.3.7
    - Installation request for nfephp-org/nfephp dev-carioca -> satisfiable by nfephp-org/nfephp[dev-carioca].
    - Installation request for marabesi/gnre dev-master -> satisfiable by marabesi/gnre[dev-master].
    - marabesi/gnre dev-master requires zendframework/zend-barcode 2.3.*@dev -> satisfiable by zendframework/zend-barcode[2.3.0, 2.3.1, 2.3.2, 2.3.3, 2.3.4, 2.3.5, 2.3.6, 2.3.7, 2.3.8, 2.3.9].
    - zendframework/zend-barcode 2.3.0 requires zendframework/zend-stdlib 2.3.0 -> satisfiable by zendframework/zend-stdlib[2.3.0].
    - zendframework/zend-barcode 2.3.1 requires zendframework/zend-stdlib 2.3.1 -> satisfiable by zendframework/zend-stdlib[2.3.1].
    - zendframework/zend-barcode 2.3.2 requires zendframework/zend-stdlib 2.3.2 -> satisfiable by zendframework/zend-stdlib[2.3.2].
    - zendframework/zend-barcode 2.3.3 requires zendframework/zend-stdlib 2.3.3 -> satisfiable by zendframework/zend-stdlib[2.3.3].
    - zendframework/zend-barcode 2.3.4 requires zendframework/zend-stdlib 2.3.4 -> satisfiable by zendframework/zend-stdlib[2.3.4].
    - zendframework/zend-barcode 2.3.5 requires zendframework/zend-stdlib 2.3.5 -> satisfiable by zendframework/zend-stdlib[2.3.5].
    - zendframework/zend-barcode 2.3.6 requires zendframework/zend-stdlib 2.3.6 -> satisfiable by zendframework/zend-stdlib[2.3.6].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.0].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.1].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.2].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.3].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.4].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.5].
    - Can only install one of: zendframework/zend-stdlib[2.5.0, 2.3.6].
    - zendframework/zend-mail 2.5.0 requires zendframework/zend-stdlib ~2.5.0 -> satisfiable by zendframework/zend-stdlib[2.5.0, 2.5.1, 2.5.2].
    - Conclusion: don't install zendframework/zend-stdlib 2.5.1

Problemas para renderizar o barcode

Bom dia

Estou usando o WAMP e usando os exemplos que tem no repositório, mas não está exibindo a código de barras da guia.

Também rodei o arquivo "gerar-codigo-de-barras.php" que está presente no exemplos mas também não mostra o código

Está tudo funcionando, ou que não estou fazendo algo de errado?

Desde já agradeço

Remover WARNING do phpunit

Remover o warning aos rodar os tests do PHPunit

1) Sped\Gnre\Render\Test\HtmlTest::testNaoDeveGerarOhtmlDoLoteQuandoOloteEvazio
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

2) Sped\Gnre\Render\Test\HtmlTest::testDeveGerarOhtmlDoLoteQuandoPossuirGuias
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

3) Sped\Gnre\Render\Test\PdfTest::testDeveCriarOpdfApartirDoHtml
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

4) Sped\Gnre\Sefaz\Test\SendTest::testDeveLancarExcecaoAoNaoSetarUmaConnectionFactoryParaSerUsada
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

5) Sped\Gnre\Sefaz\Test\SendTest::testDeveSetarUmaConnectionFactoryParaSerUsada
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

6) Sped\Gnre\Sefaz\Test\SendTest::testDeveRetornarUmaConnectionFactory
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

8) Sped\Gnre\Sefaz\Test\SendTest::testDeveExibirDebug
PHPUnit_Framework_TestCase::getMock() is deprecated, use PHPUnit_Framework_TestCase::createMock() or PHPUnit_Framework_TestCase::getMockBuilder() instead

Warning sendo exibido: https://travis-ci.org/nfephp-org/sped-gnre/jobs/222222356

Zend\ServiceManager

Ao tentar executar o arquivo "exemplo/gerar-pdf.php" está apresentando um erro no Zend\ServiceManager\Exception\ServiceNotFoundException

Acredito que a Zend/ServerManager tenha atualizado. porque sei que a alguns dias atrás estava tudo funcionando, depois que eu dei um update no composer que começou esse problema.

Gostaria de avisar e saber se tem algo que eu possa fazer?

Obs: Estou usando o XAMP numa maquina Windows

Configuracao

Galera, seguinte...

Estou tentando rodar a API, porém até o momento sem sucesso, e encontrei algumas pessoas com duvidas também, aqui esta uma configuração de teste, estou usando um certificado emitido pela SERASA e ainda sim estou com problemas, a resposta é sempre
error:14094412:SSL routines:SSL3_READ_BYTES:sslv3 alert bad certificate

Conseguem ver algo de errado?

utilizarAmbienteDeTeste(true); // Descomente essa linha para utilizar o ambiente de testes $lote->addGuia($guia); $webService = new Sped\Gnre\Webservice\Connection($minhaConfiguracao, $lote->getHeaderSoap(), $lote->toXml()); echo $webService->doRequest($lote->soapAction()); ?>

SUPORTE A V2 - LOTE GNRE

Até o momento a lib suporta somente a v1, caso alguém se interesse em ajudar na atualização é só manter essa thread atualizada.

Notícia oficial (http://www.gnre.pe.gov.br/gnre/portal/todasNoticias.jsp):

Portal GNRE - Atualização da Versão para 2.0

Prezado Contribuinte,

Informamos que a partir do dia 01/04/2019, o Portal GNRE terá sua versão atualizada para 2.0.

A versão 2.0 contemplará três opções para geração das guias:

  1. GNRE Simples - esta opção equivale à geração da GNRE atual, ou seja, geração de guia para apenas um pagamento.

  2. GNRE com Múltiplos Documentos de Origem - nesta opção poderão ser adicionados múltiplos documentos de origem, desde que mantida a mesma UF destinatária, o mesmo Contribuinte Emitente, o mesmo Código de Receita e o mesmo Tipo de Documento de Origem.

  3. GNRE com Múltiplas Receitas - nesta opção poderão ser adicionados diversos códigos de receitas, desde que se mantenha a mesma UF destinatária e o mesmo Contribuinte Emitente. Nesta opção serão aceitos vários códigos de receita, inclusive podendo repetir o mesmo código de receita.

Para os contribuintes que utilizam os serviços (webservices) de automação que o Portal disponibiliza, será necessário adequar suas aplicações para a nova estrutura do XML versão 2.0.

Haverá um período em que o Portal da GNRE aceitará as duas versões simultaneamente. Este período será para que as UFs e os contribuintes possam fazer os ajustes necessários para utilização desta versão. Ao fim deste período só serão aceitas requisições, via webservice, na nova versão.

O período final da versão 1.0 será informado no Portal GNRE (Testes/Homologação e Produção) em momento posterior.

Para maiores detalhes, acessar o Portal GNRE no ambiente de Testes/Homologação (http://www.testegnre.pe.gov.br) e clicar no menu Automação.

Neste link, você encontrará:

• Manual para Preenchimento do Lote:
o Formato do arquivo (versão 1.0 e 2.0)
o Dicionário de dados do arquivo XML (versão 1.0 e 2.0)
o Regras de Preenchimento
• Anexos
• Links para as empresas solicitarem a utilização dos webservices
• Manual de Integração do Contribuinte (versão 2.0)
• Endereço dos serviços (webservices)

Em caso de dúvidas encaminhar e-mail para [email protected].

Atenciosamente,
Gestor Nacional do GNRE
Secretaria da Fazenda do Estado de Pernambuco

Duvida sobre o certificado

Com um único certificado é possível gerar as guias? ou para cada guia tem que ser o certificado do emitente?

Erro de certificado 14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate

Bom dia,

Já tentei todas as soluções propostas, mas continuo com o erro:

14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate.

Baixei a hierarquia V5 exportei e juntei em um arquivo.

Com a configuração assim:

   CURLOPT_SSL_VERIFYHOST => 2,
    CURLOPT_SSL_VERIFYPEER => 1,
    CURLOPT_SSLVERSION => CURL_SSLVERSION_TLSv1,
    CURLOPT_CAINFO => 'ARQUIVO.pem'

Retorna:

SSL certificate problem: self signed certificate in certificate chain

Então altero: CURLOPT_SSL_VERIFYPEER => 0 e o erro volta

14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate.

Tentei:

openssl s_client -showcerts -prexit -connect www.gnre.pe.gov.br:443 > cadeia.pem

e alterar: CURLOPT_CAINFO => 'cadeia.pem'

Mas o resultado ainda é o mesmo: bad certificate.

Tentei extrair o priv e pub do certificado manualmente pelo openssl, mas não faz diferença.

Se eu passo: CURLOPT_SSLVERSION => 3 que é o padrão diz que não tem suporte:

OpenSSL was built without SSLv3 support

Se alguém tiver alguma outra solução fico agradecido.

Verificar PSR-2 em todas as classes

A APi segue um padrão razoável de estilo de código, mas seria bom unificar isso utilizando um padrão conhecido por todos.

A minha sugestão é usar o code sniffer configurado com a PSR-2 em todas as classes.

Após essa alteração irei adicionar a checagem no travis CI.

Erro ao enviar o Lote

Estou com o erro org.xml.sax.SAXException: SimpleDeserializer encountered a child element, which is NOT expected, in something it was trying to deserialize. Ao tenta enviar. Alguém poderia me mostrar a estrutura do xml já com o envelope para eu comparar com o que está sendo gerado?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.