lukasirsak / mbank
此包已废弃,不再维护。未建议替代包。
访问斯洛伐克 mBank 交易服务的库
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
使用原生的 mBank API 代替 !!!
https://www.mbank.sk/psd2/najcastejsie-otazky/
访问斯洛伐克 mBank 交易服务的库
PHP 库,用于处理 mBank 账户。库允许执行账户操作。已分支并修改以支持斯洛伐克账户报表。
从 https://github.com/bgaluszka/mbank PL 交易服务分支。
软件提供“原样”,不提供任何类型的保证。自行承担风险使用。
适用于检查新交易。实现的方法
- 登录
- 列出账户
- 列出最近操作
- 登出
要求
- PHP 5.3 或更高版本
- cURL 扩展
安装
从 composer 安装库
{ "require": { "lukasirsak/mbank": "dev-master" } }
用法示例
所有账户的最近操作
<?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"; }
搜索账户
<?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"; }
导出为 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"; }