Download the PHP package devsitarget/sdk-sefin-nfse-php without Composer

On this page you can find all versions of the php package devsitarget/sdk-sefin-nfse-php. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package sdk-sefin-nfse-php

Sefin SDK

SDK PHP para integração com a API NFS-e da SEFIN Nacional, seguindo o contrato do swagger.json deste repositório.

Recursos

Instalação

Como dependência (Composer / Packagist)

O pacote está publicado no Packagist. Em qualquer projeto PHP que use Composer, adicione a SDK com:

Assim você passa a utilizar esta biblioteca como dependência declarada no composer.json, com resolução de versões e autoload gerenciados pelo Composer.

Clonando este repositório

Para desenvolver ou rodar os testes a partir do código-fonte deste repositório:

Uso com Docker

Para abrir um shell dentro do container:

Exemplo rápido

Enviar JSON e deixar a SDK montar o XML (DPS)

Se você prefere receber os campos como JSON no seu endpoint e delegar para a SDK a montagem do XML (DPS 1.01) + assinatura do infDPS, use submitNfseFromArray():

Atividade/Evento (atvEvento)

Quando o cTribNac pertence ao item 12 da LC 116/2003 (códigos que começam com 12, como 120801 — feiras, exposições, congressos etc.), a SEFIN exige o grupo serv/atvEvento. Sem ele, a emissão é rejeitada com o erro E0390.

Inclua atvEvento dentro de serv no payload de submitNfseFromArray():

Regras: xNome, dtIni e dtFim são obrigatórios. Informe idAtvEvt ou end, nunca os dois. Ao usar end, o CEP deve pertencer ao município de cLocPrestacao (regra E0398). Para eventos no exterior, use end.endExt em vez de CEP.

Substituição de NFS-e

Para emitir uma NFS-e em substituição a outra já autorizada, inclua o campo subst dentro de infDPS, antes de prest:

O campo subst é opcional (0-1). Quando cMotivo = 99, o campo xMotivo torna-se obrigatório (entre 15 e 255 caracteres).

DANFSe em PDF (XML → PDF)

Para gerar o documento auxiliar da NFS-e em PDF a partir do XML retornado pela SEFIN (ou de um arquivo salvo), use DanfsePdfGenerator. A SDK normaliza o XML quando necessário para compatibilidade com o gerador (por exemplo, ajustes no bloco totTrib).

Opcionalmente é possível injetar uma instância de DanfseConfig da biblioteca danfse-nacional no construtor de DanfsePdfGenerator para ajustes avançados de layout.

Consultar todos os eventos de uma NFS-e

Use getEventsByAccessKey() para buscar todos os eventos vinculados a uma NFS-e pela chave de acesso:

Para buscar um evento específico pelo tipo e número sequencial, use getEvent($chaveAcesso, $tipoEvento, $numSeqEvento).

Cancelamento de NFS-e

O cancelamento usa o layout de eventos v1.01 (Anexo II SEFIN/ADN). A SDK monta o XML conforme o schema atual da SEFIN, incluindo o Id no formato PRE + chave (50) + tipo de evento (101101).

Forma simplificada (recomendada)

Use cancelNfse(). A SDK monta o XML, extrai o CNPJ/CPF do certificado, assina e envia para a SEFIN:

Campos preenchidos automaticamente por cancelNfse() quando omitidos:

Campo Padrão
tpAmb ambiente configurado na SDK (Environment)
verAplic sefin-sdk
dhEvento data/hora atual (America/Sao_Paulo)
CNPJAutor / CPFAutor extraído do certificado digital

Aliases legados: cMotCancNFSe e xMotCancNFSe ainda são aceitos. O valor 4 em cMotCancNFSe é mapeado para cMotivo = 9. O motivo 3 (Duplicidade) não existe mais no layout v1.01 — use 9 com xMotivo.

Para consultar o evento registrado, use getEvent($chaveAcesso, 101101, $numSeqEvento).


Forma manual (controle total)

Caso precise inspecionar ou manipular o XML antes de enviar, use as classes de suporte diretamente:

Testes


All versions of sdk-sefin-nfse-php with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
guzzlehttp/guzzle Version ^7.5
psr/http-client Version ^1.0
psr/http-message Version ^1.0 || ^2.0
robrichards/xmlseclibs Version ^3.1
andrevabo/danfse-nacional Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package devsitarget/sdk-sefin-nfse-php contains the following files

Loading the files please wait ...