uspdev / nfe-ws-consumer
用于消费 uspdev/nfe-ws 数据的 API
0.2.0
2022-11-22 10:58 UTC
Requires
- php: >=7.0.0
- ext-curl: *
This package is auto-updated.
Last update: 2024-09-22 14:45:53 UTC
README
用于消费 webservice nfe-ws 的 PHP API。
自动验证发票(XML)需要验证文档结构、签名,并咨询相关财政部门(SEFAZ)关于其使用授权以及与发票相关的事件。
由于过程本身的复杂性,创建了一个响应 REST 请求的服务器 nfe-ws。该服务器的目的是处理发票的特定信息,并将处理后的数据和从 SEFAZ 获取的验证数据返回给程序。
因此,通过这个实现了该服务器的 consumer 类的简单请求,可以查询 XML 的有效性以及生成其 DANFE。
依赖项
- php-curl
安装
composer require uspdev/nfe-ws-consumer
示例
<?php include '../vendor/autoload.php'; use Uspdev\Nfe\NfeWsConsumer; $srv = 'http://servidor.eesc.usp.br/nfe-ws/api/'; $xml = file_get_contents('nfe.xml'); $sefaz = new NfeWsConsumer($srv, 'usr', 'pwd'); $ret = $sefaz->consultaXML($xml); print_r($ret);
响应
Array
(
[status] => ok
[url] => Array
(
[xml] => http://servidor/nfe-ws/xml/chave-da-nfe-nfe.xml
[proto] => http://servidor/nfe-ws/prot/chave-da-nfe-prot.xml
[sefaz] => http://servidor/nfe-ws/sefaz/chave-da-nfe-prot.pdf
[danfe] => http://servidor/nfe-ws/danfe/chave-da-nfe-danfe.pdf
)
[xml] => Array
(
[status] => ok
[estrutura] => Estrutura do XML está OK
[assinatura] => Assinatura ok
[digest] => Digest ok
[modelo] => 55
[import] => Importado com sucesso
[versao] => 4.00
)
[chave] => chave-da-nfe
[prot] => Array
(
[age] => 20
[cStat] => 100
[xMotivo] => Autorizado o uso da NF-e
[tpAmb] => 1
[dhConsulta] => 21/11/2022 - 15:05:46
[status] => ok
[eventos] => Array
(
[0] => Array
(
[tpEvento] => 100
[descEvento] => Autorizado o uso da NF-e
[nProt] => 135221386812053
[dhEvento] => 10/10/2022 - 16:14:16
[digVal] => vmQ/8gcUAxVUTKl7UzulmDess+Q=
)
)
[raw] => <?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body>
...
</soap:Body></soap:Envelope>
)
[sefaz] => Array
(
[age] => 20
[cStat] => 100
[xMotivo] => Autorizado o uso da NF-e
[dhConsulta] => 21/11/2022 - 15:05:46
[tpAmb] => 1
[versao] => uspdev/NFE-WS v2.0.7
)
[nfe] => Array
(
[ide] => Array
(
[nro] => 999
[serie] => 111
[dataemi] => 10/10/2022 - 16:13:25
[total] => 180,00
)
[emit] => Array
(
[cnpj] => CNPJ EMIT
[nome] => RAZÃO SOCIAL
[mun] => MUNICÍPIO
[uf] => SP
)
[dest] => Array
(
[cnpj] => CNPJ/CPF DEST
[nome] => NOME DEST
)
[infadic] => DADOS ADICIONAIS DA NFE
)
)
方法
- status()
- consultaXML()
- obterDanfe()
- obterSefaz()
- obterArquivo()