lee-to / php-tochka-api-v2-sdk
PHP版的Tochka bank API v2客户端
1.0
2021-06-30 14:18 UTC
Requires
- php: ^7.1
- ext-curl: *
- ext-json: *
Requires (Dev)
- mockery/mockery: ^1.0
- phpunit/phpunit: ^4.8.35 || ^5.7
This package is auto-updated.
Last update: 2024-09-26 21:44:12 UTC
README
PHP SDK for Tochka bank API version 2
安装
可以使用 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);
权限
- https://enter.tochka.com/doc/v2/redoc#section/Authentication
- 默认情况下,所有权限都已设置
//Изменить 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)
关闭卡片的方法
- https://enter.tochka.com/doc/v2/redoc#operation/delete_card_card__apiVersion__card__cardCode__delete
参数
- $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()
处理支付
创建和签署支付的方法
- 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 - 用于重定向的页面链接。在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 联系维护者。