sign($params); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { $appId = config::APP_ID; $key = config::KEY; $content = "appId={$appId}&code={$params['code']}&faceValue={$params['faceValue']}&mobile={$params['mobile']}&msg={$params['msg']}&orderId={$params['orderId']}"; $content .= "&price={$params['price']}&productId={$params['productId']}&systemOrderId={$params['systemOrderId']}&key={$key}"; return md5($content); } //[$order_id, $success, $can_try, $need_handle] public function notify($params) { if (!isset($params['code'])) { return [false, false, false, false]; } $status = $params['code']; $order_sn = $params['orderId']; $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 === 0) { $data['official_sn'] = strtolower($params['msg']) == 'null' ? '' : $params['msg']; $data['ch_trade_no'] = $params['systemOrderId']; Model('refill_order')->edit($order_id, $data); return [$order_id, true, false, true]; } elseif ($status === 1) { return [$order_id, false, true, true]; } else { return [$order_id, false, false, false]; } } }