sign($params); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { $content = $params['extOrderId'] . $params['orderId'] . $params['state'] . config::KEY; return md5($content); } public function notify($params) { $status = intval($params['state']); $order_sn = $params['extOrderId']; $order_info = Model('vr_order')->getOrderInfoForNotify(['order_sn' => $order_sn]); if (empty($order_info)) { return [false, false, false, false, '']; } $order_id = $order_info['order_id']; if ($status === 4) { $official_sn = $params['exchangeTraded']; Model('refill_order')->edit($order_id, ['official_sn' => $official_sn, 'ch_trade_no' => $params['orderId']]); return [$order_id, true, false, true, $official_sn]; } elseif ($status === 5) { return [$order_id, false, true, true, '']; } else { return [$order_id, false, false, false, '']; } } }