两面对称/tochka-bank

Tochka Bank API

v1.0.1 2024-02-20 14:24 UTC

This package is not auto-updated.

Last update: 2024-09-18 15:23:55 UTC


README

该库是Tochka Bank API的包装器

compatible

安装

composer require two-faces/tochka-bank

使用

要运行,需要获取JWT令牌,详细信息可以在银行网站上查看

客户端初始化

use TochkaBank\Client;

$client = new Client('jwt-token-here', [
    'debug' => false, // Доп опции для Guzzle
]);

获取所有组织列表

$organizations = $client->account->getOrganizations();
foreach ($organizations as $organization) {
    echo $organization->getFullName() . PHP_EOL;
    $accounts = $organization->getAccounts();
    foreach ($accounts as $account) {
        echo $account->getAccountCode() . ' / ' . $account->get$account->getCurrencyCode() . PHP_EOL;
    }
    echo PHP_EOL;
}

获取所有账户列表

$accounts = $client->account->getAccounts();
foreach ($accounts as $account) {
    echo $account->getCode() . "\t" . $account->getBankCode() . PHP_EOL;
}

创建账单请求

$request = new \TochkaBank\Requests\Statement\Request();
$request->setAccountCode(''); // Номер счета
$request->setBankCode(''); // Номер банка (см. банк счета)
$request->setDateStart('ГГГГ-ММ-ДД');
$request->setDateEnd('ГГГГ-ММ-ДД');

$statementRequest = $client->statement->create($request);
echo $statementRequest->getRequestId();

获取账单请求状态

 /* Обратите внимание, что результат запроса кешируется локально, если вызвать дважды вернется один результат
  * Если нужно форсировать запрос используйте второй аргументом `true`
  */
 echo $client->statement->getStatus($requestId);

获取账单

use TochkaBank\Responses\Statement\Status;

echo $client->statement->getStatus($requestId);

if ($client->statement->getStatus($requestId) == Status::STATUS_READY) {
    $request = $client->statement->get($requestId);
    foreach ($request->getPayments() as $payment) {
        // другие доступные методы смотрите в Payment классе
        echo $payment->getPaymentDate() . ', amount: ' . $payment->getPaymentAmount() . PHP_EOL;
    }
    echo '---';
    echo 'at start: ' . $request->getBalanceOpening() . ', at end: ' . $request->getBalanceClosing();
};