Добавление файлов скрипта
This commit is contained in:
parent
0ba3fe9730
commit
edabf6060d
57
auth.php
Normal file
57
auth.php
Normal file
@ -0,0 +1,57 @@
|
||||
<?php
|
||||
session_start();
|
||||
|
||||
// Конфигурация приложения
|
||||
$client_id = 'вставьте свой ключ приложения';
|
||||
$redirect_uri = 'https://ваш путь к скрипту/auth.php'; // URL, куда ЮMoney перенаправит после авторизации
|
||||
$scope = 'account-info operation-history operation-details';
|
||||
|
||||
// Шаг 1: Перенаправить пользователя на страницу авторизации
|
||||
if (!isset($_GET['code'])) {
|
||||
$auth_url = "https://yoomoney.ru/oauth/authorize?client_id={$client_id}&response_type=code&redirect_uri={$redirect_uri}&scope={$scope}";
|
||||
header('Location: ' . $auth_url);
|
||||
exit();
|
||||
}
|
||||
|
||||
// Шаг 2: Обработать редирект и получить токен
|
||||
if (isset($_GET['code'])) {
|
||||
$code = $_GET['code'];
|
||||
|
||||
$token_url = "https://yoomoney.ru/oauth/token";
|
||||
|
||||
// Параметры запроса
|
||||
$data = array(
|
||||
'code' => $code,
|
||||
'client_id' => $client_id,
|
||||
'redirect_uri' => $redirect_uri,
|
||||
'grant_type' => 'authorization_code'
|
||||
);
|
||||
|
||||
// Выполнение POST запроса для получения токена
|
||||
$options = array(
|
||||
'http' => array(
|
||||
'header' => "Content-Type: application/x-www-form-urlencoded\r\n",
|
||||
'method' => 'POST',
|
||||
'content' => http_build_query($data),
|
||||
),
|
||||
);
|
||||
|
||||
$context = stream_context_create($options);
|
||||
$result = file_get_contents($token_url, false, $context);
|
||||
|
||||
if ($result === FALSE) {
|
||||
die('Ошибка при получении токена');
|
||||
}
|
||||
|
||||
$response = json_decode($result, true);
|
||||
|
||||
if (isset($response['error'])) {
|
||||
die('Ошибка: ' . $response['error_description']);
|
||||
}
|
||||
|
||||
$access_token = $response['access_token'];
|
||||
|
||||
echo "Ваш access token: " . $access_token;
|
||||
}
|
||||
?>
|
||||
|
60
index.php
Normal file
60
index.php
Normal file
@ -0,0 +1,60 @@
|
||||
<?php
|
||||
// Устанавливаем токен доступа
|
||||
$token = 'вставьте сюда полученный токен';
|
||||
|
||||
// URL для запроса баланса
|
||||
$accountInfoUrl = 'https://yoomoney.ru/api/account-info';
|
||||
|
||||
// URL для запроса списка операций
|
||||
$operationHistoryUrl = 'https://yoomoney.ru/api/operation-history';
|
||||
|
||||
// Функция для выполнения запроса к API
|
||||
function apiRequest($url, $token, $params = array()) {
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||||
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
|
||||
'Authorization: Bearer ' . $token
|
||||
));
|
||||
if (!empty($params)) {
|
||||
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
|
||||
}
|
||||
$response = curl_exec($ch);
|
||||
if ($response === false) {
|
||||
$error = curl_error($ch);
|
||||
curl_close($ch);
|
||||
die('Ошибка cURL: ' . $error);
|
||||
}
|
||||
curl_close($ch);
|
||||
$data = json_decode($response, true);
|
||||
if (json_last_error() !== JSON_ERROR_NONE) {
|
||||
die('Ошибка декодирования JSON: ' . json_last_error_msg());
|
||||
}
|
||||
if (isset($data['error'])) {
|
||||
die('Ошибка API: ' . $data['error']);
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
// Получаем информацию о счете
|
||||
$accountInfo = apiRequest($accountInfoUrl, $token);
|
||||
|
||||
// Выводим баланс
|
||||
$balance = $accountInfo['balance'];
|
||||
echo '<h2><b>Баланс вашего кошелька: ' . $balance . ' руб.</h2></b>';
|
||||
|
||||
// Получаем историю операций (последние 5 операций)
|
||||
$params = array(
|
||||
'records' => 5,
|
||||
);
|
||||
$operationHistory = apiRequest($operationHistoryUrl, $token, $params);
|
||||
|
||||
// Выводим последние 5 операций
|
||||
echo 'Последние 5 операций:<br>';
|
||||
foreach ($operationHistory['operations'] as $operation) {
|
||||
echo 'Дата: ' . $operation['datetime'] . '<br>';
|
||||
echo 'Сумма: ' . $operation['amount'] . ' руб.<br>';
|
||||
echo 'Тип: ' . $operation['title'] . '<br>';
|
||||
echo 'Описание: ' . $operation['message'] . '<br>';
|
||||
echo '<br>';
|
||||
}
|
||||
?>
|
Loading…
Reference in New Issue
Block a user