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

PHP版的Tochka bank API v2客户端

1.0 2021-06-30 14:18 UTC

This package is auto-updated.

Last update: 2024-09-26 21:44:12 UTC


README

PHP SDK for Tochka bank API version 2

API的第一个版本已过时

安装

可以使用 Composer 安装Tochka API的PHP客户端。运行以下命令

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

使用

文档

导入。

use TochkaApi\Client;
use TochkaApi\HttpAdapters\CurlHttpClient;

初始化。

  • 在Tochka银行个人账户的“集成”部分创建应用程序,并填写访问权限
$tochkaApi = new \TochkaApi\Client("client_id", "client_secret", "redirect_uri", new CurlHttpClient);

OAuth2授权。

  • 确认应用程序的使用权限。该方法将返回用于授权的URL
  • 根据文档,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 - 根据文档的请求体
$tochkaApi->statement()->create($data)

处理卡片

获取卡片列表的方法

参数

  • $cardCode - PЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
$tochkaApi->card($cardCode, $customerCode)->all()

编辑卡片的方法

参数

  • $cardCode - PЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
  • $data - 根据文档的请求体
$tochkaApi->card($cardCode, $customerCode)->update($data)

关闭卡片的方法

参数

  • $cardCode - PЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
$tochkaApi->card($cardCode, $customerCode)->delete()

显示卡片的当前限制

参数

  • $cardCode - PЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
  • $query - 根据文档的查询参数
$tochkaApi->card($cardCode, $customerCode)->limits($query)

更改卡片状态的方法

参数

  • $cardCode - PЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
  • $data - 根据文档的请求体
$tochkaApi->card($cardCode, $customerCode)->state($data)

处理客户

获取可用客户列表的方法

$tochkaApi->customer()->all()

获取特定客户信息的方法

参数

  • $customerCode - 客户的唯一代码
$tochkaApi->customer($customerCode)->get()

处理支付

创建和签署支付的方法

参数

  • $data - 根据文档的请求体
  • $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的任意查询(当前SBP方法处于开发中)

参数

$tochkaApi->custom()->request($method, $url, $data = [])
  • 如果需要在header中包含customer-code
$tochkaApi->custom(null, $customerCode)->request($method, $url, $data = [])

测试

  1. Composer 是运行测试的前提条件。全局安装composer,然后运行 composer install 安装所需文件。
  2. 可以在根目录下运行此命令来执行测试
./vendor/bin/phpunit

贡献

有关详细信息,请参阅 CONTRIBUTING

鸣谢

许可

MIT许可证(MIT)。有关更多信息,请参阅 许可文件

安全性

如果您发现了一个安全问题,请直接通过 leetodev@ya.ru 联系维护者。