feat(sales-stats): вкладка «Оплаты» — success-rate и неудачные покупки

Новая вкладка в статистике продаж:
- success-rate платежей (оплачено/создано) — общий + по каждому шлюзу с
  цветными барами (зелёный ≥90%, жёлтый ≥70%, красный ниже);
- кол-во попыток оплат;
- «Неудачные покупки» — внутренние откаты при ошибке покупки (сигнал
  надёжности, не возвраты).
Данные из нового эндпоинта /payment-health. Шлюзы без активности не
показываются. Карточки 1/3 (без сирот), адаптив. 4 локали.
This commit is contained in:
c0mrade
2026-06-02 18:46:42 +03:00
parent ec23618a56
commit 436d9f860c
8 changed files with 172 additions and 5 deletions

View File

@@ -165,6 +165,21 @@ export interface DepositsStats {
daily_by_method: DailyDepositByMethodItem[];
}
export interface GatewaySuccessItem {
method: string;
total: number;
paid: number;
success_rate: number;
}
export interface PaymentHealth {
total_attempts: number;
total_paid: number;
success_rate: number;
failed_purchases: number;
by_gateway: GatewaySuccessItem[];
}
// ============ API ============
export const salesStatsApi = {
@@ -197,4 +212,9 @@ export const salesStatsApi = {
const response = await apiClient.get('/cabinet/admin/stats/sales/deposits', { params });
return response.data;
},
getPaymentHealth: async (params: SalesStatsParams = {}): Promise<PaymentHealth> => {
const response = await apiClient.get('/cabinet/admin/stats/sales/payment-health', { params });
return response.data;
},
};