lightools / fio
Basic operations over Fio API.
Installs: 6 768
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- php: >=5.4
- ext-curl: *
- bitbang/http: ~0.3.0
- lightools/xml: ~1.0.0
- nette/utils: ~2.2
Requires (Dev)
- php: >=5.5
- mockery/mockery: ~0.9.4
- nette/tester: ~1.7.1
Suggests
- lightools/bitbang-http-logger: Log all HTTP traffic to Fio API easily!
This package is auto-updated.
Last update: 2022-10-04 10:17:24 UTC
README
Library providing basic operations with Fio API.
Installation
$ composer require lightools/fio
Usage
This library doesn't implement all functions of Fio API (e.g. Euro or International payments), it just provides simple interface for the most common use-cases. You can easily work with multiple Fio accounts or you can use FioClient directly.
Initialize
$httpClient = new Bitbang\Http\Clients\CurlClient(); $xmlLoader = new Lightools\Xml\XmlLoader(); $fio = new Lightools\Fio\FioClient($xmlLoader, $httpClient); $account = new Lightools\Fio\FioAccount('12345678', 'token', $fio); // no problem with having more Fio accounts
Retrieving new payments
try { $transactions = $account->getNewTransactions(); foreach ($transactions as $transaction) { echo $transaction->getVariableSymbol(); } } catch (Lightools\Fio\FioException $e) { // or catch specific exceptions $account->setBreakpointById($lastKnownMoveId); // further processing }
Sending transaction orders
try { $amount = 100; $currency = 'CZK'; $accountTo = '12345678'; $bankCode = '6100'; $order = new Lightools\Fio\TransactionOrder($amount, $currency, $accountTo, $bankCode); $order->setVariableSymbol('8888'); $account->sendOrders([$order]); } catch (Lightools\Fio\FioTemporaryUnavailableException $e) { // Fio is overheated, wait 30 seconds and repeat } catch (Lightools\Fio\FioWarningException $e) { // in this case, Fio accepted orders, but detected something suspicious } catch (Lightools\Fio\FioFailureException $e) { // e.g. HTTP request failed, Fio is down, ... }
Logging traffic
It is very useful to store HTTP requests and responses when communicating with Fio API so you can easily determine all possible problems. Library lightools/bitbang-http-logger provides this functionality.
How to run tests
$ vendor/bin/tester -c tests/php.ini -d extension_dir=ext tests