assoconnect / linxo-client
Linxo API 的 PHP 客户端
v1.0.1
2022-04-12 10:12 UTC
Requires
- php: ^7.4|^8.0
- ext-json: *
- assoconnect/php-date: ^2.2
- guzzlehttp/guzzle: ^6.0|^7.4
- koriym/http-constants: ^1.2
- league/oauth2-client: ^2.6
- moneyphp/money: ^3.0|^4.0
- symfony/translation: ^5.4|^6.0
Requires (Dev)
- phpstan/phpstan: ^1.2
- phpstan/phpstan-phpunit: ^1.0
- phpstan/phpstan-strict-rules: ^1.1
- phpunit/phpunit: ^9.2
- squizlabs/php_codesniffer: ^3
This package is auto-updated.
Last update: 2024-09-24 20:57:51 UTC
README
安装
composer require assoconnect/linxo-client
文档
请使用官方 文档。
快速开始
<?php use AssoConnect\LinxoClient\AuthClient; // Set up the AuthClient with your credentials $authClient = new AuthClient( 'clientId', 'clientSecret', 'http://your-app.com/linxo/redirect' ); // OAuth2 code exchange $token = $authClient->getTokenFromCode('code'); // OAuth2 token refresh $newToken = $authClient->refreshToken($token->getRefreshToken()); // Get an API Client for a given user identified by its access token $apiClient = $authClient->createApiClient($token->getToken()); $apiClient->getAccounts(); // List of Linxo bank accounts
测试
此库附带一个 Guzzle 系统来模拟 API 响应。
如果为某个请求定义了模拟响应,则将返回模拟响应,否则将调用 API。
如何使用
<?php use AssoConnect\LinxoClient\Dto\AccountDto; use AssoConnect\LinxoClient\Test\MockAuthClient; use AssoConnect\LinxoClient\Test\MockFactory; $authClient = new MockAuthClient( 'clientId', 'clientSecret', 'http://your-app.com/linxo/redirect' ); $middleware = $authClient->getMiddleware(); // Create your own mock responses $middleware->stackAccount([ 'id' => '1', 'connection_id' => '2', 'name' => 'My account', 'iban' => 'FR4930003000703896912638U72', 'status' => AccountDto::STATUS_ACTIVE, 'currency' => 'EUR', ]); // You can also mock you or transactions $middleware->stackMe(...); $middleware->stackTransaction(...); $apiClient = $authClient->createApiClient('token'); $apiClient->getAccount('1'); // Will return the mocked DTO $apiClient->getAccount('2'); // Will call the API // Or you can use a factory to get predefined content $factory = new MockFactory($middleware); $factory->mockAccount([ 'name' => 'My 2nd account' // Replace only what you want ]); $factory->mockMe(...); $factory->mockTransaction(...);