new WeChatPay($params), PayEnum::BALANCE_PAY => new BalancePay($params), PayEnum::PURCHASE_FUNDS => new PurchaseFundPay($params), default => new CashPay(), }; } abstract function refund($amount, $order); }