承接 csoellinger/php-fon-webservices 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

csoellinger/php-fon-webservices

Composer 安装命令:

composer require csoellinger/php-fon-webservices

包简介

PHP library to handle FinanzOnline web services.

README 文档

README

PHP library to handle (BMF)FinanzOnline webservices.

Source Code Download Package PHP Programming Language Read License Package downloads on Packagist Build status

About

Supported webservices:

  • Session
  • VatID check
  • Databox download
  • File upload
  • Bank data transmission
  • Query data transmission

To be done:

  • Record keeping
  • Cash register

Installation

Install this package as a dependency using Composer.

composer require csoellinger/php-fon-webservices

Usage

Session Webservice

This webservice is needed for all other webservices but can also be used standalone (e.g. for using it with a service which is not supported by this library at the moment). Before you can use it you need to set up a credential class with all necessary informations.

<?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();

VatID Check Webservice

Check a vat id (value added tax identification) for validity at two levels. First only return valid or not valid, second also return the company name and address if available.

// 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
 */

Databox Download Webservice

// 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'...
 */

Example(s)

The easiest way to start the examples is to start a PHP server:

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

Now open your browser and go to http://localhost:8005

Setup

composer install

Quality Tools

This project uses modern PHP tooling for code quality:

Testing

  • Pest - Modern testing framework with expressive syntax
    composer test              # Run Pest tests
    composer test:coverage     # Run tests with coverage report

Code Style & Formatting

  • PHP-CS-Fixer - Automatic code style fixer (PSR-12)
    composer format            # Auto-fix code style
    composer format:check      # Check code style (for CI)

Static Analysis

  • PHPStan - Static analysis tool (max level)
  • Psalm - Static analysis and type checker (level 1)
    composer analyse           # Run PHPStan + Psalm
    composer analyse:phpstan   # Run PHPStan only
    composer analyse:psalm     # Run Psalm only

Automated Refactoring

  • Rector - Automated code refactoring and upgrades
    composer rector            # Check for refactoring opportunities
    composer rector:fix        # Apply automated refactorings

Combined Checks

composer lint              # Check PHP syntax (parallel-lint)
composer check             # Run all quality checks (lint + format + analyse)

Multi-Version Testing with Podman

Test across all supported PHP versions using Podman Compose:

# Build all containers
podman-compose build

# Install/update dependencies (run after composer.json changes)
podman-compose run --rm php82 composer update

# Run tests on a specific PHP version
podman-compose run --rm php81 composer test
podman-compose run --rm php82 composer test
podman-compose run --rm php83 composer test
podman-compose run --rm php84 composer test

# Test all versions at once
bash bin/test-all-versions.sh

Supported PHP versions: 8.3, 8.4

Note: After modifying composer.json, you need to run composer update inside a container to update dependencies before running tests.

Documentation

API documentation is available in docs/api/

Contributing

Contributions are welcome! To contribute, please familiarize yourself with CONTRIBUTING.md.

If you found a bug or have an idea feel free to post it here on github.

Copyright and License

The csoellinger/php-fon-webservices library is free and unencumbered software released into the public domain. Please see UNLICENSE for more information.

统计信息

  • 总下载量: 94
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unlicense
  • 更新时间: 2021-03-08

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固