pkeidel / banktolaravel
从银行账户读取预订信息并将其保存到数据库中的本地表中
v1.5.0
2023-09-02 15:11 UTC
Requires
- php: ^8.1
- ext-readline: *
- illuminate/console: ^10.3
- nemiah/php-fints: 3.4.0
This package is auto-updated.
Last update: 2024-10-01 00:13:25 UTC
README
是什么
此包创建一个数据库表以存储所有银行预订/对账单。同时,创建了一个 artisan 命令 php artisan bank:import,可以直接从您的银行导入它们。新条目作为事件发布,您可以通过查看用法了解更多。此包支持 HBCI/FinTS,这是与银行机构通信的德国标准。
感谢
非常感谢 nemiah/fints-hbci-php 提供并维护这样一个优秀的库,让我能够轻松地在此基础上进行工作!
安装
首先添加 composer 依赖项
composer require pkeidel/banktolaravel
然后发布并运行迁移来创建 'bookings' 表
php artisan vendor:publish --provider="PKeidel\BankToLaravel\Providers\BankToLaravelServiceProvider" --tag=migrations php artisan migrate
现在将其添加到良好的受保护路由组中
Route::resource('bookings', '\PKeidel\BankToLaravel\Controllers\BookingsController');
最后,创建一个任务调度器,如这里所述
$schedule->command('bank:import')->hourly();
用法
将这些值追加到您的 .env 文件中
# https://github.com/willuhn/hbci4java/blob/master/src/blz.properties FHP_BANK_URL= FHP_BANK_CODE= FHP_ONLINE_REGISTRATIONNO= FHP_ONLINE_BANKING_USERNAME= FHP_ONLINE_BANKING_PIN_CMD="keyring get mybank.com myusername" # OR use decrypted PIN #FHP_ONLINE_BANKING_PIN="" FHP_BANK_START="14 days ago" FHP_BANK_ACCOUNT=
每次将新条目添加到数据库时,都会触发一个 PKeidel\BankToLaravel\Events\NewEntry 事件。
在某个 ServiceProvide 的 boot() 函数中,您可以简单地监听事件并添加一些自己的逻辑,例如发送电子邮件或通过其他方式通知您。
Event::listen(\PKeidel\BankToLaravel\Events\Error::class, function (Error $error) { Log::error("BankToLaravel error: $error->exception"); }); Event::listen(\PKeidel\BankToLaravel\Events\NewEntry::class, function (NewEntry $entry) { optional(Users::where('iban', $entry->data['ref_iban'])->first())->notify(new NewBankaccountBooking($entry)); });