stdex / php-tochka-api-v2-sdk
PHP版的Tochka bank API v2客户端
1.2
2023-07-30 16:40 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-08-30 01:27:23 UTC
README
Точка банк API版本2的PHP SDK
安装
可以使用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)
关闭卡片的操作方法
- 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 - 根据文档的查询参数
$tochkaApi->card($cardCode, $customerCode)->limits($query)
更改卡片状态的方法
参数
- $cardCode - ПЦ Точки中的卡片GUID
- $customerCode - 客户的唯一代码
- $data - 根据文档的请求体
$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 - 根据文档的请求体
- $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方法处于开发中)
参数
- $method - GET|POST|DELETE|UPDATE|PUT
- $url - URL,例如 https://enter.tochka.com/uapi/sbp/v1.0/merchant/MF0000000001
- $data - 请求体
$tochkaApi->custom()->request($method, $url, $data = [])
- 如果需要在header中包含customer-code
$tochkaApi->custom(null, $customerCode)->request($method, $url, $data = [])
测试
- Composer 是运行测试的先决条件。全局安装composer,然后运行
composer install来安装所需文件。 - 可以从根目录运行此命令来执行测试
./vendor/bin/phpunit
贡献
有关详细信息,请参阅 CONTRIBUTING。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。
安全
如果您发现了一个安全问题,请直接联系维护者 leetodev@ya.ru。