dolibarr.bankimport/vendor/nemiah/php-fints/Samples/balance.php
data 8b64fd24d3 feat: php-fints 4.0 Update + HKEKA/HKKAA Segmente (WIP)
- php-fints Bibliothek von 3.7.0 auf 4.0.0 aktualisiert
- Parser-Fix: Ignoriert zusätzliche Bank-Felder statt Exception
- HKEKA Segmente implementiert (HIEKASv5, HKEKAv5, HIEKAv5)
- HKKAA Segmente implementiert (HIKAASv1, HKKAAv1)
- GetStatementFromArchive und GetElectronicStatement Actions

HINWEIS: HKKAA/HKEKA funktionieren noch nicht mit VR Bank
(Fehler "unerwarteter Aufbau wrt DE 2" - Kontoverbindungsformat)
Normale Funktionalität (Transaktionsimport) ist nicht betroffen.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-03-05 15:47:27 +01:00

35 lines
1.3 KiB
PHP

<?php /** @noinspection PhpUnhandledExceptionInspection */
/**
* SAMPLE - Displays the current balance of all accounts.
*/
// See login.php, it returns a FinTs instance that is already logged in.
/** @var \Fhp\FinTs $fints */
$fints = require_once 'login.php';
// Just pick the first account for the request, though we will request the balance of all accounts.
$getSepaAccounts = \Fhp\Action\GetSEPAAccounts::create();
$fints->execute($getSepaAccounts);
if ($getSepaAccounts->needsTan()) {
handleStrongAuthentication($getSepaAccounts); // See login.php for the implementation.
}
$oneAccount = $getSepaAccounts->getAccounts()[0];
$getBalance = \Fhp\Action\GetBalance::create($oneAccount, true);
$fints->execute($getBalance);
if ($getBalance->needsTan()) {
handleStrongAuthentication($getBalance); // See login.php for the implementation.
}
/** @var \Fhp\Segment\SAL\HISAL $hisal */
foreach ($getBalance->getBalances() as $hisal) {
$accNo = $hisal->getAccountInfo()->getAccountNumber();
if ($hisal->getKontoproduktbezeichnung() !== null) {
$accNo .= ' (' . $hisal->getKontoproduktbezeichnung() . ')';
}
$amnt = $hisal->getGebuchterSaldo()->getAmount();
$curr = $hisal->getGebuchterSaldo()->getCurrency();
$date = $hisal->getGebuchterSaldo()->getTimestamp()->format('Y-m-d');
echo "On $accNo you have $amnt $curr as of $date.\n";
}