klement-alexander / php-sdicoop-server
一个用于实现意大利交换系统所需网络服务的PHP包 - 鸣谢taocomp!
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-13 02:28:43 UTC
README
一个用于实现意大利交换系统(又称“SdI”)所需网络服务的PHP包。
(Pacchetto PHP per l’implementazione dei webservices TrasmissioneFatture e RicezioneFatture richiesti dal SdI)。
请参考
- PHP SdICoop - Client 用于连接SdI网络服务
- PHP E-invoice It 用于管理意大利电子发票和通知XML格式
请查看 Forum Italia - Fatturazione Elettronica 以获取服务器配置、互操作性测试等信息。特别是
- Apache配置
- Accreditamento SDICoop:在Apache上配置SSL - Fatturazione Elettroni…
- 互操作性测试
- Test Interoperabilità Soluzioni - Fatturazione Elettronica - Forum Italia
如果您需要一个“即用即装”的解决方案,或者需要为您的PHP项目提供咨询,请随时通过 e-invoicing@taocomp.com 联系我们。
快速入门
“TrasmissioneFatture”网络服务
只需将 examples/tramissione-fatture.php
包含在您的端点中。例如,如果您的测试端点是
https://test.example.com/trasmissione/index.php
请在您的 index.php
中放置以下代码
<?php require_once('/path/to/php-sdicoop-server/examples/trasmissione-fatture.php');
“RicezioneFatture”网络服务
只需将 examples/ricezione-fatture.php
包含在您的端点中。例如,如果您的测试端点是
https://test.example.com/ricezione/index.php
请在您的 index.php
中放置以下代码
<?php require_once('/path/to/php-sdicoop-server/examples/ricezione-fatture.php');
入门
依赖项
- PHP 5.5+
php-soap
安装
Composer
composer require klement-alexander/php-sdicoop-server
手动
- 克隆/下载仓库
require_once('/path/to/php-sdicoop-server/vendor/autoload.php');
命名空间
请注意命名空间已更改(v0.1.1),现在是 Taocomp\Einvoicing\SdicoopServer
。
因此,例如,要使用 WebService
类
use \Taocomp\Einvoicing\SdicoopServer\WebService;
设置
“TrasmissioneFatture”网络服务
- 将
examples/TrasmissioneFattureHandler.php
复制到您的项目中的某个位置,并添加将发票和通知保存到文件系统/数据库的逻辑 - 然后将
examples/trasmissione-fatture.php
的内容复制到您的端点文件中 - 根据需要进行修改路径
例如,如果您的处理类是
class MyTrasmissioneFattureHandler { //... }
保存在 /path/to/MyTrasmissioneFattureHandler.php
中,那么您的端点中的代码将是
ini_set("soap.wsdl_cache_enabled", 0); ini_set('soap.wsdl_cache_ttl', 0); use \Taocomp\Einvoicing\SdicoopServer\WebService; try { require_once('/path/to/php-sdicoop-server/vendor/autoload.php'); require_once('/path/to/MyTrasmissioneFattureHandler.php'); $wsdl = '/path/to/php-sdicoop-server/assets/wsdl/TrasmissioneFatture_v1.1.wsdl'; $ws = new WebService($wsdl); $ws->setClass('\MyTrasmissioneFattureHandler'); $ws->handle(); } catch (\Exception $e) { WebService::log($e->getMessage(), LOG_ERR); }
“RicezioneFatture”网络服务
按照“TrasmissioneFatture”中的说明执行。
日志
两个网络服务都写入系统日志。
例如,当您收到“RicevutaConsegna”通知时
Dec 14 23:52:32 web Taocomp\Einvoicing\SdicoopServer\WebService: RicevutaConsegna IdentificativoSdI:7045996 NomeFile:ITXXXXXXXXXXX_00001_RC_002.xml
鸣谢
我们要感谢所有在 Forum Italia - Fatturazione Elettronica 上分享他们的代码片段和任何可用信息的贡献者。
许可
GPLv3。