承接 decoda/nfse-core-client 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

decoda/nfse-core-client

最新稳定版本:0.2

Composer 安装命令:

composer require decoda/nfse-core-client

包简介

Biblioteca base para integracao com NFS-e Padrao Nacional (SEFIN Nacional).

README 文档

README

Biblioteca base em PHP para chamadas HTTP da NFS-e Padrao Nacional (SEFIN Nacional), pensada para ser dependencia de uma extensao maior.

Objetivo

  • Fornecer classes e metodos para requisicoes da API NFS-e.
  • Isolar transporte, endpoints, certificado e contratos.
  • Evitar acoplamento com frameworks no nucleo.

Operacoes suportadas no cliente

  • Emitir NFS-e (POST /nfse)
  • Consultar NFS-e por chave (GET /nfse/{chaveAcesso})
  • Consultar DPS (GET|HEAD /dps/{id})
  • Registrar evento (POST /nfse/{chaveAcesso}/eventos)
  • Consultar eventos (GET /nfse/{chaveAcesso}/eventos/...)

Instalacao

composer require decoda/nfse-core-client

Uso rapido

<?php

declare(strict_types=1);

use Nfse\Core\Client\SefinNacionalClient;
use Nfse\Core\DTO\EmitNfseRequest;
use Nfse\Core\DTO\Environment;
use Nfse\Core\Endpoints\SefinEndpointResolver;
use Nfse\Core\Security\A1FileCertificateProvider;
use Nfse\Core\Security\OpenSslXmlSigner;
use Nfse\Core\Transport\CurlHttpTransport;
use Nfse\Core\Validation\DomXmlSchemaValidator;
use Nfse\Core\Validation\NfseXsdCatalog;

$certificateProvider = new A1FileCertificateProvider('/caminho/certificado.pfx', 'senha-do-certificado');
$xmlSigner = new OpenSslXmlSigner();

$client = new SefinNacionalClient(
    environment: Environment::PRODUCTION_RESTRICTED,
    endpointResolver: new SefinEndpointResolver(),
    transport: new CurlHttpTransport(),
    certificateProvider: $certificateProvider,
    xmlValidator: new DomXmlSchemaValidator(),
    emitSchemaPath: '/caminho/xsd/dps.xsd',
);

$xmlAssinado = $xmlSigner->sign('<DPS Id="ABC123">...</DPS>', $certificateProvider->getCertificate());
$response = $client->emit(new EmitNfseRequest($xmlAssinado));

if ($response->isSuccess()) {
    echo $response->body();
}

Endpoints oficiais usados por padrao

  • Producao restrita: https://sefin.producaorestrita.nfse.gov.br/API/SefinNacional
  • Producao: https://sefin.nfse.gov.br/API/SefinNacional

Observacoes

  • Esta biblioteca nao implementa regras fiscais de negocio.
  • Inclui assinador XML via OpenSSL em OpenSslXmlSigner.
  • Inclui validador XML/XSD em DomXmlSchemaValidator.

Validacao de XML

Voce monta o XML externamente. A extensao pode validar:

  • Apenas estrutura XML (sem XSD): passe xmlValidator.
  • Estrutura + XSD: passe xmlValidator e emitSchemaPath/eventSchemaPath, ou informe schemaPath por request.

Exemplo por request:

$request = new EmitNfseRequest(
    signedDpsXml: $xmlAssinado,
    idempotencyKey: 'pedido-123',
    schemaPath: '/caminho/xsd/dps-v1.xsd'
);

Catalogo de XSD por versao

Use NfseXsdCatalog para resolver caminhos de XSD por versao sem informar tudo manualmente.

Estrutura padrao esperada:

/seu-diretorio-xsd/
  v1_00/
    dps_v1_00.xsd
    evento_v1_00.xsd

Exemplo:

$catalog = new NfseXsdCatalog('/seu-diretorio-xsd', 'v1_00');

$client = new SefinNacionalClient(
    environment: Environment::PRODUCTION_RESTRICTED,
    endpointResolver: new SefinEndpointResolver(),
    transport: new CurlHttpTransport(),
    xmlValidator: new DomXmlSchemaValidator(),
    emitSchemaPath: $catalog->emitSchemaPath(),
    eventSchemaPath: $catalog->eventSchemaPath(),
);

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 7
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-26

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固