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。