phpcfdi / sat-estado-cfdi-soap
Requires
- php: >=7.3
- ext-soap: *
- phpcfdi/sat-estado-cfdi: ^1.0.2
Requires (Dev)
- phpcfdi/cfdi-expresiones: ^3.0
- phpunit/phpunit: ^9.5
Suggests
- phpcfdi/cfdi-expresiones: Genera expresiones de CFDI 3.3, CFDI 3.2 y RET 1.0
README
项目存档
为了支持 phpcfdi/sat-estado-cfdi
版本 2,本项目已被存档。该项目的功能已整合到 phpcfdi/sat-estado-cfdi
中,因此本项目自 2024-03-06 起不再维护。如果您使用了 phpcfdi/sat-estado-cfdi
和 phpcfdi/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
创建的一些方面。
您不能修改的参数是: location
、uri
、style
、use
和 soap_version
。
默认情况下,对象使用可修改的参数创建,exceptions: true
和 connection_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 以获取更多详细信息,并记得检查待办事项列表TODO 和CHANGELOG 文件。
版权和许可
《phpcfdi/sat-estado-cfdi-soap》库版权所有 © PhpCfdi,并许可在MIT许可证(MIT)下使用。有关更多信息,请参阅LICENSE。