csoellinger/php-fon-webservices

用于处理 FinanzOnline 网络服务的 PHP 库。

v0.2.0 2022-03-08 10:55 UTC

README

用于处理 (BMF)FinanzOnline 网络服务的 PHP 库。

Source Code Download Package PHP Programming Language Read License Package downloads on Packagist Build status Psalm Type Coverage Codecov Code Coverage

关于

目前支持的网络服务

  • 会话
  • 增值税ID检查
  • 数据框下载
  • 文件上传
  • 银行数据传输

待办事项

  • 查询数据传输
  • 记录
  • 收银机

安装

使用 Composer 将此软件包作为依赖项安装。

composer require csoellinger/php-fon-webservices

使用

会话网络服务

此网络服务对于所有其他网络服务都是必需的,但也可以独立使用(例如,与当前不受此库支持的服务一起使用)。在您可以使用它之前,您需要设置一个凭证类,包含所有必要信息。

<?php

$tId = 'abcd45678'; // FinanzOnline Teilnehmer-ID
$tUid = 'abcd45678'; // FinanzOnline Teilnehmer-UID (if available, otherwise leave blank)
$benId = 'abcd45678'; // FinanzOnline Benutzer-ID
$benPin = 'abcd45678'; // FinanzOnline Benutzer-PIN

$credential = new FonCredential($tId, $tUid, $benId, $benPin);

// Initialize
$sessionWs = new SessionWs($credential);

// Login
$sessionWs->login();

// Get session id
$sessionId = $sessionWs->getID();

// optional: logout. Not really needed cause you will be logged off at class destruct.
$sessionWs->logout();

增值税ID检查网络服务

检查增值税ID(增值税识别号)的有效性,分为两个级别。首先只返回有效或无效,其次如果有的话,还返回公司名称和地址。

// Initialize with previous created session webservice

/** @var SessionWs $sessionWs */
$checkVatIdWs = new VatIdCheckWs($sessionWs);

// Check at level one only returns valid
var_dump($checkVatIdWs->check('ATU36975500'));
/**
 * CSoellinger\FonWebservices\Result\VatIdCheck\ValidLevelOne
 *   valid => (bool) true
 */

// At level two you also get name and address of the organisation if available
var_dump($checkVatIdWs->check('ATU36975500', 2));
/**
 * CSoellinger\FonWebservices\Result\VatIdCheck\ValidLevelTwo
 *   name => (string) 'McDonald's Franchise GmbH'
 *   address => (string) 'Campus 21,Liebermannst A01601 AT-2345 Brunn am Gebirge'
 *   valid => (bool) true
 */

数据框下载网络服务

// Initialize with previous created session webservice

/** @var SessionWs $sessionWs */
$databoxDownloadWs = new DataboxDownloadWs($sessionWs);

// Get a list of your databox
$databoxList = $databoxDownloadWs->get();
var_dump($databoxList);
/**
 * array
 *   0 =>
 *     CSoellinger\FonWebservices\Result\DataboxDownload\ListItem
 *       stnr => (string) '99 999/9999'
 *       name => (string) 'Mustermann Max'
 *       anbringen => (string) 'STB-ZUSI'
 *       zrvon => (string) ''
 *       zrbis => (string) ''
 *       datbesch => (string) '2019-07-15+02:00'
 *       erltyp => (string) 'B'
 *       fileart => (string) 'PDF'
 *       ts_zust => (string) '2020-11-02T07:04:10.044+01:00'
 *       applkey => (string) '2019-07-15-11.45.07.000000'
 *       filebez => (string) '99_9999999_B_2008-11-20_2008-11-20-100948804630.PDF'
 *       status => (string) ''
 */

// Get one entry by the applkey
$entry = $databoxDownloadWs->getEntry($databoxList[0]->applkey);
var_dump($entry);
/**
 * (string) 'JVBERi0xLjQNJeLjz9MNCjYgMCBvYmoNPDwvTGluZWFyaXplZCAxL0wgNTk1Ny9PIDgvRSAxNzAzL'...
 */

示例

开始示例的最简单方法是启动一个PHP服务器

php -S localhost:8005 --docroot ./public

现在打开您的浏览器并访问 https://:8005

文档

Markdown

贡献

欢迎贡献!要贡献力量,请熟悉 CONTRIBUTING.md

如果您发现了错误或有想法,请在这里在github上发布。

版权和许可证

csoellinger/php-fon-webservices 库是免费且不受限制的软件,已发布到公共领域。有关更多信息,请参阅 UNLICENSE