kduma / emszmal-api
PHP中的emSzmal银行API包装器
4.0.2
2024-04-26 08:44 UTC
Requires
- php: ~8.1
- ext-json: *
- guzzlehttp/guzzle: ^7.0
README
PHP中的emSzmal银行API包装器
安装
通过Composer
$ composer require kduma/emszmal-api
用法
$api = new \KDuma\emSzmalAPI\emSzmalAPI( api_id: $api_id, api_key: $api_key, timeout: 120, cache_provider: new \KDuma\emSzmalAPI\CacheProviders\NoCacheProvider(), ); $session = $api->SayHello(); $BankCredentials = new \KDuma\emSzmalAPI\DTO\BankCredentials( provider: \KDuma\emSzmalAPI\Enums\Bank::PKOiPKO, login: 'Login', password: 'Password', user_context: '', token_value: '', ); $accounts = $api->GetAccountsList( session: $session, credentials: $BankCredentials, ); $transactions = $api->GetAccountHistory( session: $session, account_number: "account number", date_since: '2016-10-25', date_to: '2016-10-30', credentials: $BankCredentials, ); $api->SayBye( session: $session, );
Laravel用法
设置
将以下条目添加到您的.env
文件中
EMSZMAL_API_ID="<api id>"
EMSZMAL_API_KEY=<api key>
EMSZMAL_BANK_PROVIDER_ID=<provider ID>
EMSZMAL_BANK_LOGIN=<login>
EMSZMAL_BANK_PASSWORD=<password>
EMSZMAL_BANK_USER_TOKEN=<token from bank>
用法
您可以使用emSzmalAPI::class
类解析
$api = app(\KDuma\emSzmalAPI\emSzmalAPI::class); $session = $api->SayHello(); $accounts = $api->GetAccountsList( session: $session, ); $transactions = $api->GetAccountHistory( session: $session, account_number: 'account number', date_since: '2016-10-25', date_to: '2016-10-30', ); $api->SayBye( session: $session, );
或者您可以使用注入容器
Route::get('/api', function (\KDuma\emSzmalAPI\emSzmalAPI $api) { $session = $api->SayHello(); $accounts = $api->GetAccountsList( session: $session, ); $transactions = $api->GetAccountHistory( session: $session, account_number: 'account number', date_since: '2016-10-25', date_to: '2016-10-30', ); $api->SayBye( session: $session, ); });
多个银行凭证
您可以使用多个银行凭证。首先,运行以下命令以复制配置文件
php artisan vendor:publish --provider="KDuma\emSzmalAPI\Laravel\ServiceProvider"
在您的config/emszmalapi.php
文件中,在bank_credentials
部分添加额外的凭证
'bank_credentials' => [ 'bank_1' => [ 'provider' => env('EMSZMAL_BANK_1_PROVIDER_ID'), 'login' => env('EMSZMAL_BANK_1_LOGIN'), 'password' => env('EMSZMAL_BANK_1_PASSWORD'), 'user_context' => env('EMSZMAL_BANK_1_USER_CONTEXT', "I"), 'token_value' => env('EMSZMAL_BANK_1_USER_TOKEN', ''), ], 'bank_2' => [ 'provider' => env('EMSZMAL_BANK_2_PROVIDER_ID'), 'login' => env('EMSZMAL_BANK_2_LOGIN'), 'password' => env('EMSZMAL_BANK_2_PASSWORD'), 'user_context' => env('EMSZMAL_BANK_2_USER_CONTEXT', "I"), 'token_value' => env('EMSZMAL_BANK_2_USER_TOKEN', ''), ], ],
现在您可以在调用API方法时使用别名
$api = app(\KDuma\emSzmalAPI\emSzmalAPI::class); $session = $api->SayHello(); $bank_1_accounts = $api->GetAccountsList( session: $session, credentials: 'bank_1', ); $bank_1_transactions = $api->GetAccountHistory( session: $session, account_number: "account number", date_since: '2016-10-25', date_to: '2016-10-30', credentials: 'bank_1', ); $bank_2_accounts = $api->GetAccountsList( session: $session, credentials: 'bank_2', ); $bank_2_transactions = $api->GetAccountHistory( session: $session, account_number: "account number", date_since: '2016-10-25', date_to: '2016-10-30', credentials: 'bank_2', ); $api->SayBye( session: $session, );
致谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。