* @version : HUOSDK 8.0 */ namespace huolib\utils; use huolib\constant\PaywayConst; use huolib\status\OrderStatus; class OrderUtils { CONST AMOUNT_MAX = 10000; CONST AMOUNT_MIN = 0.01; /** * 校验SDK订单 * * @param array $order_data * * @return int */ public static function checkSdkOrder($order_data = []) { if (empty($order_data)) { return OrderStatus::INVALID_PARAMS; } if (!isset($order_data['amount']) || $order_data['amount'] <= 0) { return OrderStatus::INVALID_PARAMS; } return OrderStatus::NO_ERROR; } /** * 校验支付方式 * * @param $payway * * @return int */ public static function checkPayway($payway = '') { if (empty($payway)) { return OrderStatus::PAYWAY_INCORRECT; } $_rs = PaywayConst::getMsg($payway); if (false == $_rs) { return OrderStatus::PAYWAY_INCORRECT; } return OrderStatus::NO_ERROR; } /** * 校验支付方式 * * @param float $amount * * @return int */ public static function checkAmount($amount = 0.0) { if (empty($amount) || !is_numeric($amount)) { return OrderStatus::ORDER_AMOUNT_IS_ZERO; } if ($amount < self::AMOUNT_MIN) { return OrderStatus::ORDER_AMOUNT_TOO_LOW; } if ($amount > self::AMOUNT_MAX) { return OrderStatus::ORDER_AMOUNT_TOO_HIGH; } return OrderStatus::NO_ERROR; } }