Read JSON file from Fio bank and can send request.

Installs: 441

Dependents: 1

Stars: 20

Watchers: 7

Forks: 9

Open Issues: 5

v1.2.0 2015-05-30 07:24 UTC


Build Status

Support Fio API. Default read via json file.

Installation to project

The best way to install h4kuna/fio is using Composer:

$ composer require h4kuna/fio

Example NEON config

    fioExtension: h4kuna\Fio\Nette\DI\FioExtension

    # mandatory
    account: 2600267402/2010
    token: 5asd64as5d46ad5a6

    # optional
    temp: %tempDir%/fio
    transactionClass: \h4kuna\Fio\Response\Read\Transaction # if you need change name of property

How to use


Read range between date.

use h4kuna\Fio;
/* @var $fioRead Fio\FioRead */
/* @var $list Fio\Response\Read\TransactionList */
$list = $fioRead->movements(/* $from, $to */); // default is last week

foreach ($list as $transaction) {
    /* @var $transaction Fio\Response\Read\Transaction */
    foreach ($transaction as $property => $value) {
        dump($property, $value);


You can download transaction by id of year.

use h4kuna\Fio;
/* @var $fioRead Fio\FioRead */
/* @var $list Fio\Response\Read\TransactionList */
$list = $fioRead->movementId(2, 2015); // second transaction of year 2015

Very useful method where download last transactions.

After download it automaticaly set new break point.

use h4kuna\Fio;
/* @var $fioRead Fio\FioRead */
/* @var $list Fio\Response\Read\TransactionList */
$list = $fioRead->lastDownload();
// same use like above

Change your break point.

By date.

$list = $fioRead->lastDownload();

By movement ID.

$list = $fioRead->lastDownload();
dump($list->getInfo()->idLastDownload); // 123456789

Custom Transaction class

By default is h4kuna\Fio\Response\Read\Transaction if you want other names for properties. You can set by Neon.

    transactionClass: \MyTransaction

Define annotation and you don't forget id in brackets.


use h4kuna\Fio\Response\Read\ATransaction

 * @property-read float $amount [1]
 * @property-read string $to_account [2]
 * @property-read string $bank_code [3]
class MyTransaction extends ATransaction
    /** custom method */
    public function setBank_code($value)
        return str_pad($value, 4, '0', STR_PAD_LEFT);

Payment (writing)

Api has three response languages, default is set cs. For change:

/* @var $fioPay h4kuna\Fio\FioPay */

For send request is method send whose accept, file path to your xml or abo file or instance of class Property.

$myFile = '/path/to/my/xml/or/abo/file'

Object pay only to czech or slovak:

/* @var $national h4kuna\Fio\Request\Pay\Payment\National */
$national = $fioPay->createNational($amount, $accountTo);
/* set next payment property $national->set* */

Euro zone payment:

/* @var $euro h4kuna\Fio\Request\Pay\Payment\Euro */
$euro = $fioPay->createEuro($amount, $accountTo, $bic, $name, $country);
/* set next payment property $euro->set* */

International payment:

/* @var $international h4kuna\Fio\Request\Pay\Payment\International */
$international = $fioPay->createInternational($amount, $accountTo, $bic, $name, $street, $city, $country, $info);
/* set next payment property $international->set* */

Send more payments in one request:

foreach($pamentsRows as $row) {
    /* @var $national h4kuna\Fio\Request\Pay\Payment\National */
    $national = $fioPay->createNational($row->amount, $row->accountTo);