pavelmaca / open-banking
OpenBanking 连接器
1.0
2019-12-07 14:49 UTC
Requires
- php: >=7.2
- ext-json: *
- composer/ca-bundle: ^1.1
- doctrine/annotations: ^1.4
- guzzlehttp/guzzle: ^6.2
- nette/utils: ^2.5
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.11
- phpstan/phpstan: ^0.11.5
- phpunit/phpunit: ^8
This package is auto-updated.
Last update: 2024-09-10 08:56:32 UTC
README
基于捷克 Open-Banking API 标准 的 PHP 库。
支持的服务
- 账户信息
- 余额检查
- 支付初始化(部分)
可扩展性
目标是使用单个接口进行通信,尽可能支持更多的银行。库已包含针对某些 REST API 的特殊验证器和连接器。
身份验证
请求和处理身份验证令牌不在本库的范围内。
使用 \PavelMaca\OpenBanking\Auth\Authentication 接口,您可以使用自己的实现来处理和存储访问令牌。
某些实现需要不同的身份验证参数或额外的头部。在这种情况下,您可以使用 \PavelMaca\OpenBanking\Auth\Authentication 或 \PavelMaca\OpenBanking\Auth\StandardAuthentication 来扩展或实现自己的验证器。
示例
class BankB implements \PavelMaca\OpenBanking\Auth\Authentication { public function getAuthHeaders(): array { return [ 'X-Special-Header' => 'foo', 'Authorization' => 'Bearer ' . $this->getAccessToken(), ]; } protected function getAccessToken(){ // Get access token via OAUth 2.0 } public function getCertificate() { // Custom certificate handling } }
处理 HTTP 连接
使用接口连接器,您可以创建自己的 HTTP 处理器来执行 HTTP 请求。库包含 StandardConnector,它可以将数据填充到目标数据层。
用法
$auth = new \PavelMaca\OpenBanking\Auth\StandardAuthentication(); $auth->setCertificate(__DIR__ . '/../data/cert.crt', 'secretPassword'); $auth->setAccessToken('timeLimitedToken'); $connector = new \PavelMaca\OpenBanking\Bank\StandardConnector($auth, 'http://banka.cz/', 'v1'); try { $ais = new \PavelMaca\OpenBanking\Standard\AccountInformation($connector); $accountList = $ais->getAccountList(); var_dump($accountList); $cisp = new \PavelMaca\OpenBanking\Standard\BalanceCheck($connector); $transactionDetail = new \PavelMaca\OpenBanking\Standard\CISP\Parts\TransactionDetail('CZK', 100); $balanceCheckRequest = new \PavelMaca\OpenBanking\Standard\CISP\BalanceCheckRequest('id', 'CZ010046464', $transactionDetail); $cisp->getBalanceCheck($balanceCheckRequest); $pisp = new \PavelMaca\OpenBanking\Standard\PaymentInitialization($connector); $paymentRequest = new \PavelMaca\OpenBanking\Standard\PISP\DomesticPaymentRequest('id', 100, 'CZK', 'CZ0123', 'CZ0456'); $accountBalance = $pisp->createPayment($paymentRequest); } catch (\PavelMaca\OpenBanking\Standard\Exception\StandardException $ex) { var_dump($ex); }
支持的银行
库旨在复制版本 2.0 的捷克标准。具体取决于特定的实现,库应该处理所有遵循捷克 Open-Banking 标准的银行。
已测试