sign($input); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { unset($params['proof']); $content = ''; ksort($params); foreach ($params as $key => $val){ $content .= "{$key}=". urlencode($val) ."&"; } $content .= "key=".config::KEY; return md5($content); } public function notify($params) { $status = $params['state']; $order_sn = $params['outTradeNo']; $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 === 'SUCCESS') { Model('refill_order')->edit($order_id, ['official_sn' => $params['proof'], 'ch_trade_no' => $params['orderNo']]); return [$order_id, true, false, true]; } elseif ($status === 'FAIL') { Model('refill_order')->edit($order_id, ['ch_trade_no' => $params['orderNo']]); return [$order_id, false, true, true]; } else { return [$order_id, false, false, false]; } } }