Skip to content

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

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Tochka API v2 client for PHP

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 [email protected].

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages