stdex / php-tochka-api-v2-sdk
Tochka bank API v2 client for PHP
1.3
2024-11-21 06:25 UTC
Requires
- php: >=7.1
- ext-curl: *
- ext-json: *
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^4.8.35 || ^5.7 || >=8.5
This package is auto-updated.
Last update: 2024-11-21 06:26:15 UTC
README
PHP SDK для Точка банк API версия 2
Installation
Tochka API client for PHP can be installed with Composer. Run this command:
composer require stdex/php-tochka-api-v2-sdk
Использование
Импорт.
use TochkaApi\Client; use TochkaApi\HttpAdapters\CurlHttpClient;
Инициализация.
- Создаем приложение в личном кабинете Точка банк в разделе "Интеграции" и прописываем доступы
$tochkaApi = new \TochkaApi\Client("client_id", "client_secret", "redirect_uri", new CurlHttpClient);
OAuth2 авторизация.
- Подтверждаем права пользования для приложения. Метод вернет урл для прохождения авторизации
- Согласно документации code живет 2 минуты
// Урл для авторизации, после подтверждения вернет $_GET["code"] на redirect_uri $authorizeUrl = $tochkaApi->authorize(); header("Location: {$authorizeUrl}"); exit( ); //После успешной авторизации и подтверждения прав Точка банк выполнит редирект на redirect_uri указанный в Вашем приложении //c параметром code // code обменяется на токен и установится в клиент $accessToken = $client->token($_GET["code"]); $tochkaApi->setAccessToken($accessToken); //Access token живет 24 часа //Refresh token живет 30 дней //Проверка не устарел ли токен ($createdTimestamp - timestamp создания токена) if($tochkaApi->isExpired($createdTimestamp)) { }
Обновления токена
//Вернет объект AccessToken $client->refreshToken(string $refresh_token);
Разрешения
- https://enter.tochka.com/doc/v2/redoc#section/Authentication
- По умолчанию установлены все разрешения
//Изменить scopes $tochkaApi->setScopes(string $scopes);
//Изменить permissions $tochkaApi->setPermissions(array $permissions);
Работа со счетами
Метод получения списка доступных счетов
$tochkaApi->account()->all()
Метод получения информации по конкретному счёту
Параметры:
- $accountId - Уникальный и неизменный идентификатор счёта
$tochkaApi->account($accountId)->get()
Метод получения информации о балансе конкретного счета
Параметры:
- $accountID - Идентификатор счета
$tochkaApi->account($accountID)->balances()
Метод получения конкретной выписки
Параметры:
- $accountID - Идентификатор счета
- $statementId - Идентификатор выписки
$tochkaApi->account($accountID)->statement($statementId)
Работа с балансами счетов
Метод получения баланса по нескольким счетам
$tochkaApi->balance()->all()
Работа с выписками
Метод получения списка доступных выписок
$tochkaApi->statement()->all()
Метод создания выписки по конкретному счету
Параметры:
- $data - Request Body согласно документации
$tochkaApi->statement()->create($data)
Работа с картами
Метод получения списка карт
Параметры:
- $cardCode - GUID карты в ПЦ Точки
- $customerCode - Уникальный код клиента
$tochkaApi->card($cardCode, $customerCode)->all()
Метод редактирования карты
Параметры:
- $cardCode - GUID карты в ПЦ Точки
- $customerCode - Уникальный код клиента
- $data - Request Body согласно документации
$tochkaApi->card($cardCode, $customerCode)->update($data)
Метод закрытия карты
- https://enter.tochka.com/doc/v2/redoc#operation/delete_card_card__apiVersion__card__cardCode__delete
Параметры:
- $cardCode - GUID карты в ПЦ Точки
- $customerCode - Уникальный код клиента
$tochkaApi->card($cardCode, $customerCode)->delete()
Показывает действующие лимиты по карте
Параметры:
- $cardCode - GUID карты в ПЦ Точки
- $customerCode - Уникальный код клиента
- $query - Query parameters согласно документации
$tochkaApi->card($cardCode, $customerCode)->limits($query)
Метод смены состояния карты
Параметры:
- $cardCode - GUID карты в ПЦ Точки
- $customerCode - Уникальный код клиента
- $data - Request Body согласно документации
$tochkaApi->card($cardCode, $customerCode)->state($data)
Работа с клиентами
Метод получения списка доступных клиентов
$tochkaApi->customer()->all()
Метод получения информации по конкретному клиенту
Параметры:
- $customerCode - Уникальный код клиента
$tochkaApi->customer($customerCode)->get()
Работа с платежами
Методы создания и подписания платежа
- https://enter.tochka.com/doc/v2/redoc#section/Opisanie-metodov/Rabota-s-platezhami
- https://enter.tochka.com/doc/v2/redoc#operation/create_payment_for_sign_payment__apiVersion__for_sign_post
- https://enter.tochka.com/doc/v2/redoc#operation/create_payment_payment__apiVersion__order_post
Параметры:
- $data - Request Body согласно документации
- $forSign - С подписью либо без
$tochkaApi->payment()->create($data, $forSign = true)
- Метод создания и подписания платежа ($forSign = false) вернет ответ вида
"Data": { "requestId": "openapi-b96d770e-769f-49ce-9630-890e00d47720", "redirectURL": "https://enter.tochka.com/payment/?requestId=openapi-b96d770e-769f-49ce-9630-890e00d47720&clientId=ВАШ_КЛИЕНТ_ID" }
- где redirectURL - Ссылка на страницу для редиректа. В query-параметрах указываются поля платежа. Далее необходимо подписать платеж кодом
Метод получения статуса платежа
Параметры:
- $requestId - Идентификатор запроса (платежа)
$tochkaApi->payment($requestId)->get()
Выполнение произвольного запроса к API (Пока методы СБП в разработке)
Параметры:
- $method - GET|POST|DELETE|UPDATE|PUT
- $url - Урл, например https://enter.tochka.com/uapi/sbp/v1.0/merchant/MF0000000001
- $data - Request Body
$tochkaApi->custom()->request($method, $url, $data = [])
- Если требуется customer-code в header
$tochkaApi->custom(null, $customerCode)->request($method, $url, $data = [])
Tests
- Composer is a prerequisite for running the tests. Install composer globally, then run
composer install
to install required files. - The tests can be executed by running this command from the root directory:
./vendor/bin/phpunit
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
Security
If you have found a security issue, please contact the maintainers directly at leetodev@ya.ru.