uspdev/nfe-ws-consumer

用于消费 uspdev/nfe-ws 数据的 API

0.2.0 2022-11-22 10:58 UTC

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()