phpcfdi/sat-estado-cfdi-soap

此包已被废弃,不再维护。作者建议使用phpcfdi/sat-estado-cfdi包。

使用SOAP(不使用WSDL)查询SAT webservice中的CFDI状态

v1.0.3 2022-02-23 08:10 UTC

This package is auto-updated.

Last update: 2024-03-07 16:42:04 UTC


README

项目存档

为了支持 phpcfdi/sat-estado-cfdi 版本 2,本项目已被存档。该项目的功能已整合到 phpcfdi/sat-estado-cfdi 中,因此本项目自 2024-03-06 起不再维护。如果您使用了 phpcfdi/sat-estado-cfdiphpcfdi/sat-estado-cfdi-soap 的版本 1,请遵循https://github.com/phpcfdi/sat-estado-cfdi/blob/main/docs/UPGRADE_v1_v2.md 中的更新指南来更新您的代码。

使用SOAP(不使用WSDL)查询SAT webservice中的CFDI状态

🇺🇸 此项目的文档使用西班牙语,因为这是目标受众的自然语言。

🇲🇽 该项目的文档使用西班牙语,因为这是用户的主要语言。

此库包含用于通过SOAP消耗SAT CFDI查询服务器的对象。

此库提供了一个名为 SoapConsumerClient 的对象,用于在 phpcfdi/sat-estado-cfdi 库的 \PhpCfdi\SatEstadoCfdi\Consumer 中使用。

实现使用PHP的SOAP(ext-soap)并配置客户端和调用以不使用WSDL文件,因为SAT服务不再提供该文件。

安装

使用 composer

composer require phpcfdi/sat-estado-cfdi-soap

基本使用示例

<?php
declare(strict_types=1);

use PhpCfdi\SatEstadoCfdi\Consumer;
use PhpCfdi\SatEstadoCfdi\Soap\SoapConsumerClient;

// crear la instancia básica del Cliente Soap para el consumidor
$client = new SoapConsumerClient();

// creamos el consumidor con nuestro cliente
$consumer = new Consumer($client);

// consumimos el webservice!
$response = $consumer->execute('...expression');

// usamos el resultado
if ($response->cancellable()->isNotCancellable()) {
    echo 'CFDI no es cancelable';
}

构建选项

PHP的 \SoapClient 类提供了许多构建选项,您可以在https://php.ac.cn/manual/en/soapclient.soapclient.php 中查阅。

此库提供了一个使用 SoapClientFactory 类的基本构建方法,这样您就可以修改 SoapConsumerClient 内部使用的 \SoapClient 创建的一些方面。

您不能修改的参数是: locationuristyleusesoap_version

默认情况下,对象使用可修改的参数创建,exceptions: trueconnection_timeout: 10

要使用您的参数创建 \SoapClient 对象,您必须使用 SoapClientFactory 类,例如

<?php
declare(strict_types=1);

use PhpCfdi\SatEstadoCfdi\Soap\SoapConsumerClient;
use PhpCfdi\SatEstadoCfdi\Soap\SoapClientFactory;
use PhpCfdi\SatEstadoCfdi\Consumer;

// creamos la fábrica dándole los parámetros de los objetos \SoapClient que fabricará
$factory = new SoapClientFactory([
    'user_agent' => 'Mozilla/5.0 (X11; Linux x86_64; rv:66.0) Gecko/20100101 Firefox/66.0'
]);

// le pasamos la fábrical al cliente
$client = new SoapConsumerClient($factory);

// creamos el consumidor del servicio para poder hacer las consultas
$consumer = new Consumer($client);

兼容性

此库将保持与最新支持版本的最新的PHP版本兼容。

我们还使用语义版本 2.0.0,因此您可以放心使用此库而不会破坏您的应用程序。

贡献

欢迎贡献。请阅读CONTRIBUTING 以获取更多详细信息,并记得检查待办事项列表TODOCHANGELOG 文件。

版权和许可

《phpcfdi/sat-estado-cfdi-soap》库版权所有 © PhpCfdi,并许可在MIT许可证(MIT)下使用。有关更多信息,请参阅LICENSE