Метод refundStarPayment

Метод для возврата успешного платежа в Telegram Stars.

Описание

Возвращает успешный платеж в 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
Комментарии