lukasirsak / mbank
This package is abandoned and no longer maintained.
No replacement package was suggested.
Library for accessing mBank Slovak transaction service
dev-master
2019-10-06 17:57 UTC
Requires
- php: >=5.3.0
- ext-curl: *
This package is auto-updated.
Last update: 2020-04-06 19:29:12 UTC
README
Use native mbank API instead !!!
https://www.mbank.sk/psd2/najcastejsie-otazky/
Library for accessing mBank Slovak transaction service
PHP knižnica pre prácu s mBank účtom. Knižnica umožnuje vykonávať operácie s účtom. Forknutá a upravená pre slovenský výpis účtu.
Forked from https://github.com/bgaluszka/mbank PL transaction service.
The software is provided "as is", without warranty of any kind. Use it on Your own risk.
Suitable for checking for new transactions. Implemented methods:
- login
- list accounts
- list recent operations
- logout
Requirements
- PHP 5.3 or higher
- cURL extension
Installation
Install library from composer:
{ "require": { "lukasirsak/mbank": "dev-master" } }
Usage examples
Recent operations for all accounts
<?php // load the autoload.php from composer require 'vendor/autoload.php'; use lukasirsak\Mbank\Mbank; const MBANK_LOGIN = 'YOUR-LOGIN'; const MBANK_PASSWORD = 'YOUR-PASSWORD'; try { $mbank = new Mbank(); // Use const or config. Do not pass l/p directly in login() call or // it will be exposed when unhandled exception happen $mbank->login(MBANK_LOGIN, MBANK_PASSWORD); try { foreach ($mbank->getAllAccountTypes() as $profile) { $mbank->profile($profile); foreach ($mbank->accounts() as $account) { printf("%s %s %s\n", $account['name'], $account['value'], $account['currency']); foreach ($mbank->operations($account['iban']) as $operation) { printf("%s %s %s\n", $operation['title'], $operation['value'], $operation['currency']); } } } } catch (\Exception $e) { echo "Failed accessing profile: {$e->getMessage()}\n"; } $mbank->logout(); } catch (\Exception $e) { echo "{$e->getMessage()}\n"; }
Search account
<?php // load the autoload.php from composer require 'vendor/autoload.php'; use lukasirsak\Mbank\Mbank; const MBANK_LOGIN = 'YOUR-LOGIN'; const MBANK_PASSWORD = 'YOUR-PASSWORD'; const MBANK_IBAN = 'ACCOUNT-IBAN'; try { $mbank = new Mbank(); // Use const or config. Do not pass l/p directly in login() call or // it will be exposed when unhandled exception happen $mbank->login(MBANK_LOGIN, MBANK_PASSWORD); $operations = $mbank->operations(MBANK_IBAN, array( 'SearchText' => 'Tytuł przelewu', 'AmountFrom' => -10000.01, 'AmountTo' => 10000.01, 'periodFrom' => '01.01.2014', 'periodTo' => '31.12.2014', // 1 page contains 25 operations, set it to 2 to get 50, 3 to 75 and so on 'pagesCount' => 2, )); foreach ($operations as $operation) { printf("%s %s %s\n", $operation['title'], $operation['value'], $operation['currency']); } $mbank->logout(); } catch (\Exception $e) { echo "{$e->getMessage()}\n"; }
Export as CSV
<?php require_once 'vendor/autoload.php'; use lukasirsak\Mbank\Mbank; const MBANK_LOGIN = 'YOUR-LOGIN'; const MBANK_PASSWORD = 'YOUR-PASSWORD'; const MBANK_IBAN = 'ACCOUNT-IBAN'; try { $mbank = new Mbank(); $mbank->login(MBANK_LOGIN, MBANK_PASSWORD); // all transaction since beginning of given month $csv = $mbank->export(MBANK_IBAN, // export criterias array( 'daterange_from_day' => '1', 'daterange_from_month' => date('m'), 'daterange_from_year' => date('Y'), 'daterange_to_day' => date('d'), 'daterange_to_month' => date('m'), 'daterange_to_year' => date('Y'), // we want to export incoming transfers only 'accoperlist_typefilter_group' => Mbank::TRANS_INCOMING, )); $mbank->logout(); // you probably want to convert that to UTF-8 $csv = iconv('WINDOWS-1250', 'UTF-8', $csv); file_put_contents('mbank.csv', $csv); } catch (\Exception $e) { echo "{$e->getMessage()}\n"; }