lee-to/php-tochka-api-v2-sdk

Tochka bank API v2 client for PHP

1.0 2021-06-30 14:18 UTC

This package is auto-updated.

Last update: 2024-04-26 20:53:11 UTC


README

PHP SDK для Точка банк API версия 2

Устаревшая первая версия API

Installation

Tochka API client for PHP can be installed with Composer. Run this command:

composer require lee-to/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);

Разрешения

//Изменить 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)

Метод закрытия карты

Параметры:

  • $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()

Работа с платежами

Методы создания и подписания платежа

Параметры:

  • $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 (Пока методы СБП в разработке)

Параметры:

$tochkaApi->custom()->request($method, $url, $data = [])
  • Если требуется customer-code в header
$tochkaApi->custom(null, $customerCode)->request($method, $url, $data = [])

Tests

  1. Composer is a prerequisite for running the tests. Install composer globally, then run composer install to install required files.
  2. 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.