sign($params); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { $agentid = config::AGENT_ID; $key = config::KEY; $content = "agentid={$agentid}&mobile_num={$params['mobile_num']}&charge_time={$params['charge_time']}&operator={$params['operator']}"; $content .= "&fy_order_no={$params['fy_order_no']}&cp_order_no={$params['cp_order_no']}&amount={$params['amount']}&status={$params['status']}&key={$key}"; return md5($content); } public function notify($params) { $status = intval($params['status']); $order_sn = $params['cp_order_no']; $order_info = Model('vr_order')->getOrderInfo(['order_sn' => $order_sn]); if (empty($order_info)) { return [false, false, false,false]; } $order_id = $order_info['order_id']; if ($status === 3) { $data['official_sn'] = strtolower($params['flowNo']) == 'null' ? '' : $params['flowNo']; $data['ch_trade_no'] = strtolower($params['fy_order_no']) == 'null' ? '' : $params['fy_order_no']; Model('refill_order')->edit($order_id, $data); return [$order_id, true, false, true]; } elseif ($status === 4 || $status === 6) { return [$order_id, false, true, true]; } else { return [$order_id, false, false, false]; } } }