mirror of
https://github.com/chillpadclub/bedolaga-cabinet.git
synced 2026-09-13 16:23:08 +00:00
feat(lava): покупка привязкой, продукт тарифа в админке, CTA
Фронтовые хвосты автопродления Lava (бэкенд: de3518b7). - Поле «Продукт Lava» в форме создания/редактирования тарифа: раньше lava_product_id можно было задать только через API, из-за чего фичу нельзя было включить из интерфейса. Пустая строка отвязывает тариф от продукта. - CTA «Оформить с автооплатой Lava» в форме покупки тарифа — рядом с СБП-кнопкой, в обеих ветках рендера; флаг lava_recurrent_enabled из purchase-options наконец получил потребителя. - API-метод purchaseWithLavaRecurring + типы lava_product_id в списке, детали и запросах тарифа. - Локали ru/en/zh/fa: подписи покупки и поля продукта (плейсхолдеры сверены).
This commit is contained in:
@@ -423,6 +423,21 @@ export const subscriptionApi = {
|
||||
return response.data;
|
||||
},
|
||||
|
||||
/**
|
||||
* Оформление подписки на тариф привязкой Lava: первое списание оплачивается
|
||||
* по возвращённой ссылке и активирует подписку.
|
||||
*/
|
||||
purchaseWithLavaRecurring: async (
|
||||
tariffId: number,
|
||||
): Promise<{ status: string; redirect_url: string | null; subscription_id: number }> => {
|
||||
const response = await apiClient.post(
|
||||
'/cabinet/subscription/lava-recurrent/purchase',
|
||||
{},
|
||||
{ params: { tariff_id: tariffId } },
|
||||
);
|
||||
return response.data;
|
||||
},
|
||||
|
||||
// ── Trial ───────────────────────────────────────────────────────────
|
||||
|
||||
getTrialInfo: async (): Promise<TrialInfo> => {
|
||||
|
||||
@@ -35,6 +35,8 @@ export interface TariffListItem {
|
||||
show_in_gift: boolean;
|
||||
is_daily: boolean;
|
||||
daily_price_kopeks: number;
|
||||
/** UUID продукта Lava для рекуррентных подписок (цена/период заданы в кабинете Lava) */
|
||||
lava_product_id?: string | null;
|
||||
traffic_limit_gb: number;
|
||||
device_limit: number;
|
||||
tier_level: number;
|
||||
@@ -85,6 +87,8 @@ export interface TariffDetail {
|
||||
// Дневной тариф
|
||||
is_daily: boolean;
|
||||
daily_price_kopeks: number;
|
||||
/** UUID продукта Lava для рекуррентных подписок (цена/период заданы в кабинете Lava) */
|
||||
lava_product_id?: string | null;
|
||||
// Режим сброса трафика
|
||||
traffic_reset_mode: string | null; // 'DAY', 'WEEK', 'MONTH', 'MONTH_ROLLING', 'NO_RESET', null = глобальная настройка
|
||||
// Внешний сквад Remnawave
|
||||
@@ -124,6 +128,8 @@ export interface TariffCreateRequest {
|
||||
// Дневной тариф
|
||||
is_daily?: boolean;
|
||||
daily_price_kopeks?: number;
|
||||
// Автопродление Lava: продукт из кабинета Lava
|
||||
lava_product_id?: string | null;
|
||||
// Режим сброса трафика
|
||||
traffic_reset_mode?: string | null;
|
||||
// Внешний сквад Remnawave
|
||||
@@ -168,6 +174,8 @@ export interface TariffUpdateRequest {
|
||||
// Дневной тариф
|
||||
is_daily?: boolean;
|
||||
daily_price_kopeks?: number;
|
||||
// Автопродление Lava: продукт из кабинета Lava
|
||||
lava_product_id?: string | null;
|
||||
// Режим сброса трафика
|
||||
traffic_reset_mode?: string | null;
|
||||
// Внешний сквад Remnawave
|
||||
|
||||
Reference in New Issue
Block a user