diff --git a/miniapp/index.html b/miniapp/index.html
index 8fb9d4d8..4f03e7aa 100644
--- a/miniapp/index.html
+++ b/miniapp/index.html
@@ -21114,6 +21114,34 @@
return;
}
+ // Для суточных тарифов показываем специальную информацию
+ const isDaily = selectedTariffData.is_daily ?? selectedTariffData.isDaily ?? false;
+ if (isDaily) {
+ const dailyPriceLabel = selectedTariffData.daily_price_label ?? selectedTariffData.dailyPriceLabel ?? '';
+ section.classList.remove('hidden');
+ list.innerHTML = `
+
+
+
🔄
+
+
Суточная подписка
+
Ежедневное списание с баланса
+
+
+
+ Стоимость в день:
+ ${dailyPriceLabel}
+
+
+ 💡 Списание происходит автоматически каждые 24 часа. Можно приостановить в любой момент.
+
+
+ `;
+ summary?.classList.add('hidden');
+ updateTariffButton();
+ return;
+ }
+
const periods = selectedTariffData.periods || [];
if (periods.length === 0) {
section.classList.add('hidden');
@@ -21233,12 +21261,24 @@
const btn = document.getElementById('tariffsSelectBtn');
if (!btn) return;
- if (selectedTariffData && selectedTariffPeriod) {
+ // Для суточных тарифов не требуем выбора периода
+ const isDaily = selectedTariffData?.is_daily ?? selectedTariffData?.isDaily ?? false;
+
+ if (selectedTariffData && (selectedTariffPeriod || isDaily)) {
btn.disabled = false;
- const priceKopeks = selectedTariffPeriod.price_kopeks || selectedTariffPeriod.priceKopeks ||
- selectedTariffPeriod.final_price || selectedTariffPeriod.finalPrice || 0;
- const priceLabel = formatPriceFromKopeks(priceKopeks, tariffsData?.currency || 'RUB');
- btn.textContent = `Купить за ${priceLabel}`;
+ let priceKopeks, priceLabel;
+
+ if (isDaily) {
+ // Суточный тариф - используем daily_price
+ priceKopeks = selectedTariffData.daily_price_kopeks ?? selectedTariffData.dailyPriceKopeks ?? 0;
+ priceLabel = selectedTariffData.daily_price_label ?? selectedTariffData.dailyPriceLabel ?? formatPriceFromKopeks(priceKopeks, tariffsData?.currency || 'RUB');
+ btn.textContent = `Активировать за ${priceLabel}`;
+ } else {
+ priceKopeks = selectedTariffPeriod.price_kopeks || selectedTariffPeriod.priceKopeks ||
+ selectedTariffPeriod.final_price || selectedTariffPeriod.finalPrice || 0;
+ priceLabel = formatPriceFromKopeks(priceKopeks, tariffsData?.currency || 'RUB');
+ btn.textContent = `Купить за ${priceLabel}`;
+ }
} else {
btn.disabled = true;
btn.textContent = t('tariffs.select');
@@ -21246,7 +21286,10 @@
}
async function purchaseTariff() {
- if (!selectedTariffId || !selectedTariffPeriod) {
+ const isDaily = selectedTariffData?.is_daily ?? selectedTariffData?.isDaily ?? false;
+
+ // Для суточных тарифов не требуем выбора периода
+ if (!selectedTariffId || (!selectedTariffPeriod && !isDaily)) {
showPopup('Выберите тариф', 'Ошибка');
return;
}
@@ -21259,7 +21302,10 @@
try {
const initData = tg.initData || '';
- const periodDays = selectedTariffPeriod.days || selectedTariffPeriod.period_days || selectedTariffPeriod.periodDays;
+ // Для суточных тарифов используем period_days=1
+ const periodDays = isDaily
+ ? 1
+ : (selectedTariffPeriod.days || selectedTariffPeriod.period_days || selectedTariffPeriod.periodDays);
const response = await fetch('/miniapp/subscription/tariff/purchase', {
method: 'POST',
@@ -21277,7 +21323,10 @@
throw new Error(result?.detail?.message || result?.message || 'Ошибка покупки тарифа');
}
- showPopup(result.message || 'Тариф успешно активирован!', 'Успех');
+ const successMsg = isDaily
+ ? (result.message || 'Суточный тариф активирован!')
+ : (result.message || 'Тариф успешно активирован!');
+ showPopup(successMsg, 'Успех');
await refreshSubscriptionData();
} catch (err) {
console.error('Tariff purchase failed:', err);