stdex/php-tochka-api-v2-sdk

PHP版的Tochka bank API v2客户端

1.2 2023-07-30 16:40 UTC

This package is auto-updated.

Last update: 2024-08-30 01:27:23 UTC


README

Точка банк API版本2的PHP SDK

已过时的API第一版本

安装

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

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授权。

  • 确认应用程序的使用权限。该方法将返回用于进行授权的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 - ПЦ Точки中的卡片GUID
  • $customerCode - 客户的唯一代码
$tochkaApi->card($cardCode, $customerCode)->all()

编辑卡片的操作方法

参数

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

关闭卡片的操作方法

参数

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

显示卡片的有效限制

参数

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

更改卡片状态的方法

参数

  • $cardCode - ПЦ Точки中的卡片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 - 红irection页面链接。在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