Описание
Возвращает успешный платеж в Telegram Stars. Возвращает True при успешном выполнении.
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| user_id | Integer | Да | Идентификатор пользователя, чей платеж будет возвращен |
| telegram_payment_charge_id | String | Да | Идентификатор платежа в Telegram |
Примеры
php
<?php
$botToken = 'YOUR_BOT_TOKEN';
$apiUrl = "https://api.telegram.org/bot{$botToken}/";
// Данные для возврата платежа
$userId = 123456789; // ID пользователя
$telegramPaymentChargeId = 'payment_1234567890'; // ID платежа в Telegram
// Подготовка данных
$data = [
'user_id' => $userId,
'telegram_payment_charge_id' => $telegramPaymentChargeId
];
// Отправка запроса
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $apiUrl . 'refundStarPayment');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
echo 'Ошибка cURL: ' . curl_error($ch);
} else {
$responseData = json_decode($response, true);
if ($responseData['ok'] === true) {
echo "Платеж успешно возвращен!";
} else {
echo "Ошибка при возврате платежа: " . $responseData['description'];
}
}
curl_close($ch);
// Альтернативный вариант с использованием file_get_contents
/*
$context = stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\n",
'content' => json_encode($data)
]
]);
$response = file_get_contents($apiUrl . 'refundStarPayment', false, $context);
$responseData = json_decode($response, true);
if ($responseData['ok'] === true) {
echo "Платеж успешно возвращен!";
} else {
echo "Ошибка: " . $responseData['description'];
}
*/
?>
python
import asyncio
from telegram import Bot
from telegram.error import TelegramError
async def refund_star_payment():
# Инициализация бота с вашим токеном
bot = Bot(token="YOUR_BOT_TOKEN")
try:
# Вызов метода refundStarPayment
result = await bot.refund_star_payment(
user_id=123456789, # ID пользователя для возврата
telegram_payment_charge_id="CHARGE_ID_123" # ID платежа в Telegram
)
if result:
print("Возврат успешно выполнен")
else:
print("Не удалось выполнить возврат")
except TelegramError as e:
print(f"Ошибка Telegram: {e}")
except Exception as e:
print(f"Общая ошибка: {e}")
# Запуск асинхронной функции
if __name__ == "__main__":
asyncio.run(refund_star_payment())
История изменений
- API 7.4. Добавлен метод refundStarPayment