taocomp / php-sdicoop-server
用于实现意大利交易所系统所需Web服务的PHP包
v0.1.2
2018-12-27 14:57 UTC
Requires
- php: >=5.5
Requires (Dev)
- phpunit/phpunit: ^7
This package is auto-updated.
Last update: 2024-09-17 18:33:24 UTC
README
用于实现意大利交易所系统(即“SdI”)所需的Web服务的PHP包。
(Pacchetto PHP per l’implementazione dei webservices TrasmissioneFatture e RicezioneFatture richiesti dal SdI)。
请参考
- PHP SdICoop - 客户端 以连接到SdI Web服务
- PHP E-invoice It 用于管理意大利电子发票和通知XML格式
请参阅 意大利论坛 - 电子发票 了解服务器配置、互操作性测试等。特别是
- Apache配置
- Accreditamento SDICoop: configurazione SSL su Apache - Fatturazione Elettroni…
- 互操作性测试
- Test Interoperabilità Soluzioni - Fatturazione Elettronica - Forum Italia
快速入门
“Fatture Trasmissione” Web服务
只需将 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');
“Fatture Ricezione” Web服务
只需将 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 taocomp/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;
设置
“Fatture Trasmissione” Web服务
- 将
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);
}
“Fatture Ricezione” Web服务
按照“Fatture Trasmissione”中的相同说明操作。
日志
两个Web服务都写入系统日志。
例如,当您收到“RicevutaConsegna”通知时
Dec 14 23:52:32 web Taocomp\Einvoicing\SdicoopServer\WebService: RicevutaConsegna IdentificativoSdI:7045996 NomeFile:ITXXXXXXXXXXX_00001_RC_002.xml
鸣谢
我们要感谢所有为 意大利论坛 - 电子发票 贡献的参与者,他们分享了他们的代码片段和任何可用的信息。
许可
GPLv3.