diff --git a/frontend/src/stores/payment.ts b/frontend/src/stores/payment.ts index 49fd0e09ea..9b3a0fa475 100644 --- a/frontend/src/stores/payment.ts +++ b/frontend/src/stores/payment.ts @@ -46,7 +46,13 @@ export const usePaymentStore = defineStore('payment', () => { async function fetchPlans(): Promise { try { const response = await paymentAPI.getPlans() - plans.value = response.data + // Backend returns features as newline-separated string; parse to array + plans.value = (response.data || []).map((p: any) => ({ + ...p, + features: typeof p.features === 'string' + ? p.features.split('\n').map((f: string) => f.trim()).filter(Boolean) + : (p.features || []), + })) return plans.value } catch (error) { console.error('[payment] Failed to fetch plans:', error) diff --git a/frontend/src/views/admin/orders/AdminPaymentPlansView.vue b/frontend/src/views/admin/orders/AdminPaymentPlansView.vue index dc9884d08a..69d41577b7 100644 --- a/frontend/src/views/admin/orders/AdminPaymentPlansView.vue +++ b/frontend/src/views/admin/orders/AdminPaymentPlansView.vue @@ -16,19 +16,37 @@ #{{ value }} {{ t('payment.admin.groupMissing') }} - {{ groupName(value) }} + + - -