Fio API – PHP třída
Fio banka už nějaký čas umožňuje přístup přes své API pro stahování transakcí a o něco menší dobu umožňuje zadávání transakcí,
které následně klient musí v internetovém bankovnictví potvrdit (SMS kódem nebo s využitím certifikátu).
Za účelem usnadnění stahování a zadávání transakcí pro webové aplikace jsem vytvořil PHP třídu, která funguje v české i ve slovenské Fio bance. Nabízím následující varianty:
- Stahování i zadávání transakcí: 599 Kč
- Samotné stahování transakcí: 399 Kč
- Samotné zadávání transakcí: 399 Kč
Ceny jsou konečné, nejsem plátce DPH. Ceny platí pro jeden projekt, pokud byste chtěli používat třídu ve více svých projektech, dejte mi vědět. Zakoupením licence získáte zdarma i budoucí aktualizace třídy.
Máte zájem o třídu? Chcete pomoct s implementací? Kontaktujte mě!
Reference
„Vše funguje naprosto bez problémů.“ Jan Válek – VašeCigareta.cz
„Rychlá komunikace a předání. Třída je hezky napsaná a zdokumentovaná. Vše proběhlo bez problému, děkujeme.“ ProfiRest.cz
„Třídu používáme na čtení plateb a jsme maximálně spokojeni.“ Silicon River s.r.o.
„Se třídou nejsou žádné problémy. Pro nás funguje vše jak má.“ 3solutions, spol. s r.o.
Aktuální verze třídy je 2.2, vydána 13. 7. 2020. Podívejte se na changelog.
Pokud Vám máte koupenou licenci dřívější verze a chcete novou verzi, kontaktujte mě, prosím. O důležitých změnách informuji všechny zákazníky.
S PHP třídou se pracuje velmi jednoduše. Podívejte se!
Pro připojení této třídy k FIO bance potřebujete
token, který získáte v internetovém bankovnictví
(Informace o účtu → Správa účtu přes API → Nastavení API). Token si
můžete vygenerovat buď pouze pro čtení, nebo pro čtení i zadávání
transakcí.
Chraňte svůj soubor nebo uložená data s konfigurací k API proti
jejich zneužití, zejména proti odcizení, okopírování apod. Zneužitím
Vašich konfiguračních údajů (zejména tokenu) může jiná osoba
předstírat Vaši identitu a zadávat pokyny Vaším jménem či získávat
informace o pohybech. Zneužití souboru s konfigurací nebo dat Vám může
způsobit škodu.
PHP třída využívá knihovny CURL, SSL a
SimpleXML. Bez toho ji na svém serveru nerozjedete.
Samozřejmostí jsou komentáře jednotlivých metod PHPDoc,
díky kterým je použití třídy ještě snazší.
Podívejte se do podrobné dokumentace.
Quick start – stahování transakcí
Stažení transakcí za poslední měsíc:
require_once 'fioapi.class.php';
require_once 'fioapidownload.class.php';
try {
$fioapi = new FioApi\FioApiDownload('TOKEN');
$fioapi->downloadByPeriod(new DateTime('-1 month'), new DateTime());
print_r($fioapi->getTransactions());
} catch (FioApi\FioApiException $e) {
echo 'Exception '.$e->getCode().': '.$e->getMessage();
}
Vypíše se pole, které obsahuje všechny transakce (pohyby na účtu) za
poslední měsíc. Pole vypadá podobně jako toto:
Array
(
[0] => Array
(
[transactionId] => 3541843462
[instructionId] => 4066058524
[date] => DateTime Object
(
[date] => 2013-10-05 00:00:00
[timezone_type] => 3
[timezone] => Europe/Prague
)
[amount] => -100
[currency] => CZK
[account] => 1234567890
[accountName] =>
[bankCode] => 0100
[bankName] => Komerční banka a.s.
[constantSymbol] => 1234
[variableSymbol] => 1234
[specificSymbol] =>
[user_note] => uživatelská identifikace
[message] =>
[type] => Bezhotovostní platba
[performed] =>
[specification] =>
[comment] => komentář
[bic] =>
)
[1] => Array
(
...
)
)
Jednotlivé transakce samozřejmě můžeme procházet:
foreach($fioapi->getTransactions() as $transaction){
echo($transaction['date']->format('d.m.Y')." ".$transaction['amount']."");
}
Quick start – zadávání transakcí
Zadání standardní domácí transakce. Zadávat naráz můžete i více
transakcí, zadávat můžete i zahraniční nebo euro (Target2) transakce.
require_once 'fioapi.class.php';
require_once 'fioapiupload.class.php';
try {
$fioapi = new FioApi\FioApiUpload('TOKEN');
$transaction=new FioApi\DomesticTransaction();
$transaction->setAccountFrom(2900072500)
->setAccountTo(2900072746)
->setBankCode(2010)
->setAmount(200)
->setCurrency('CZK')
->setDate(new Datetime());
$result=$fioapi->addTransaction($transaction)
->upload();
print_r($result);
} catch (FioApi\FioApiException $e) {
echo 'Exception '.$e->getCode().': '.$e->getMessage();
}
Výsledkem je následující pole:
Array
(
[status] => ok
[transactions] => Array
(
[0] => Array
(
[status] => ok
[message] => OK
)
)
)
Následně stačí už jen potvrdit (podepsat) transakce v internetovém
bankovnictví (Přehledy – K podpisu).