Библиотека представляет собой оберку вокруг Tochka Bank API
composer require antonforwork/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();
};