<?php
$userToken = Intellectmoney::GetUserToken([
// Параметры метода
'login' => 'myLogin',
'password' => 'myPassword',
// Данные для авторизации API запросов и расчета подписей
'token' => 'Bearer myToken',
'signSecretKey' => 'mySignSecretKey',
]);
Intellectmoney::Deactivate([
// Параметры метода
'userToken' => $userToken,
'sourceInvoiceId' => 3953553347,
// Данные для авторизации API запросов и расчета подписей
'token' => 'Bearer myToken',
'signSecretKey' => 'mySignSecretKey',
]);
class IntellectMoney
{
// Аутентификация клиента API
public static function GetUserToken($params) {
// URL запроса
$url = 'https://api.intellectmoney.ru/personal/user/getUserToken';
// Расчет подписи для заголовка авторизации API запросов, sign (SHA256)
$signSignature = [
'',
$params['login'],
$params['password'],
'',
$params['signSecretKey'],
];
$signHash = hash('sha256', implode('::', $signSignature));
// Заголовки запроса
$headers = [
'Authorization: '.$params['token'],
'Sign: '.$signHash,
];
// Данные (тело) запроса
$data = [
'login' => $params['login'],
'password' => $params['password'],
];
// Выполняем запрос
$response = Intellectmoney::CurlRequest($url, $headers, $data);
$responseXml = simplexml_load_string($response);
$userToken = $responseXml->Result->UserToken;
return (string)$userToken;
}
// Деактивация операций по расписанию
public static function Deactivate($params) {
// URL запроса
$url = 'https://api.intellectmoney.ru/personal/recurring/deactivate';
// Расчет подписи для заголовка авторизации API запросов, sign (SHA256)
$signSignature = [
$params['userToken'],
$params['sourceInvoiceId'],
$params['signSecretKey'],
];
$signHash = hash('sha256', implode('::', $signSignature));
// Заголовки запроса
$headers = [
'Authorization: '.$params['token'],
'Sign: '.$signHash,
];
// Данные (тело) запроса
$data = [
'userToken' => $params['userToken'],
'sourceInvoiceId' => $params['sourceInvoiceId'],
];
// Выполняем запрос
$response = Intellectmoney::CurlRequest($url, $headers, $data);
print_r((string)$response);
}
private static function CurlRequest($url, $headers, $data) {
$queryString = http_build_query($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
}
?>