Fio bank REST API implementation in PHP. It allows you to download and iterate through account balance changes.
There is a Symfony Bundle for using this library in a Symfony app.
- Install the latest version with
composer require mhujer/fio-api-php
- Create a token in the ebanking (Nastavení / API)
- Use it according to the example bellow and check the docblocks
<?php
require_once 'vendor/autoload.php';
$downloader = new FioApi\Downloader('TOKEN@todo');
$transactionList = $downloader->downloadSince(new \DateTime('-1 week'));
foreach ($transactionList->getTransactions() as $transaction) {
var_dump($transaction); //object with getters
}
<?php
require_once 'vendor/autoload.php';
$token = get_your_fio_token();
$uploader = new FioApi\Uploader($token);
// currency, iban, bic is not needed
$account = new FioApi\Account('XXXXXXXXXX', 'ZZZZ', NULL, NULL, NULL);
$tx = Transaction::create((object) [
'accountNumber' => 'YYYYYYYYYY',
'bankCode' => 'WWWW',
'date' => new \DateTime('2016-07-20'),
'amount' => 6.66,
'currency' => 'CZK',
'userMessage' => 'money wasting',
'comment' => 'fioapi.test'
]);
$builder = new FioApi\DomesticPaymentBuilder();
$request = $builder->build($account, [$tx]);
$response = $uploader->sendRequest($request);
echo $response->getStatus();
<?php
require_once __DIR__ . '/../vendor/autoload.php';
$token = get_your_fio_token();
$uploader = new FioApi\Uploader($token);
$account = new FioApi\Account('XXXXXXXXXX', 'YYYY', null, null, null);
$tx = FioApi\Transaction::create((object) [
'accountNumber' => 'XXXXXXXXXXXXXXXX',
'bankCode' => 'WWWWWWWWWW',
'date' => new DateTime('2016-05-30'),
'amount' => 66.5,
'currency' => 'EUR',
'userMessage' => 'Donation for poor ones',
'comment' => 'fioapi.test',
'benefName' => 'Something Finland Oy',
'benefCountry' => 'FI',
]);
$builder = new FioApi\EuroPaymentBuilder();
$request = $builder->build($account, [$tx]);
$response = $uploader->sendRequest($request);
echo $response->getStatus();
echo "\n";
<?php
require_once __DIR__ . '/../vendor/autoload.php';
$token = get_your_fio_token();
$uploader = new FioApi\Uploader($token);
$account = new FioApi\Account('XXXXXXXXXX', 'YYYY', null, null, null);
$tx = FioApi\Transaction::create((object) [
'accountNumber' => 'XXXXXXXXXXXXXXXX',
'bankCode' => 'WWWWWWWWWW',
'date' => new DateTime('2016-05-30'),
'amount' => 2,
'currency' => 'USD',
'userMessage' => 'Donation for homelesses at 6th Street',
'comment' => 'fioapi.test',
'benefName' => 'John Doe',
'benefStreet' => '6th Street',
'benefCity' => 'San Francisco, CA',
'benefCountry' => 'US',
]);
$builder = new FioApi\InternationalPaymentBuilder();
$request = $builder->build($account, [$tx]);
$response = $uploader->sendRequest($request);
echo $response->getStatus();
echo "\n";
Fio API PHP works with PHP 5.5, PHP 5.6 or PHP 7.
Bugs and feature request are tracked on GitHub
Martin Hujer - [email protected] - https://www.martinhujer.cz
- #2: added Kdyby/CurlCaBundle as an optional dependency (@mhujer)
- #1: updated default GeoTrust certificate (@soukiii)
- #1: added
specification
field in transaction (@soukiii)
- upgraded to Guzzle 6
- support for PHP 5.4 dropped (as Guzzle 6 requires PHP 5.5+)
- updated root certificate (Root 3) as the Fio changed it on 2014-05-26
- initial release