diff --git a/src/Settings/PaymentRuntime.php b/src/Settings/PaymentRuntime.php index 154167a1..1a30c6d2 100644 --- a/src/Settings/PaymentRuntime.php +++ b/src/Settings/PaymentRuntime.php @@ -81,10 +81,12 @@ class PaymentRuntime { public static function get_payment_recharge_settings(): array { $settings = Settings::get_all(); - $packages = (string) ($settings['pay_balance_product'] ?? "30|30|入门包\n98|108|推荐包"); - if (is_array($settings['pay_balance_product'] ?? null)) { - $packages = self::format_product_lines((array) $settings['pay_balance_product']); - } + // 该选项可能存字符串(旧格式)或数组(结构化保存):先判类型再转换, + // 避免对数组做强转触发 "Array to string conversion" 警告。 + $raw_packages = $settings['pay_balance_product'] ?? null; + $packages = is_array($raw_packages) + ? self::format_product_lines($raw_packages) + : (string) ($raw_packages ?? "30|30|入门包\n98|108|推荐包"); $desc = sanitize_textarea_field((string) ($settings['pay_balance_desc'] ?? '')); return [