sign($input); if ($params['signature'] == $sign) { return true; } else { return false; } } private function sign($params) { ksort($params); $signature_string = ''; foreach ($params as $k => $v) { if (strlen($v)) { $signature_string .= $k . '=' . $v . '&'; } } $signature_string = substr($signature_string, 0, -1); return sha1($signature_string); } public function notify($params) { $status = intval($params['status']); $order_sn = $params['merchant_order_id']; $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 === 2) { $data['official_sn'] = strtolower($params['s_nubmer']) == 'null' ? '' : $params['s_nubmer']; Model('refill_order')->edit($order_id, $data); return [$order_id, true, false, true]; } elseif ($status === 3) { return [$order_id, false, true, true]; } else { return [$order_id, false, false, false]; } } }