sign($params); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { //有中文需要转码 if(preg_match('/[^\x00-\x80]/',$params['orderid'])){ $params['orderid'] =iconv("UTF-8","gb2312",$params['orderid']); } $content = $params['merchantorderId'] . $params['platformorderid'] . $params['orderid'] . $params['rechargeno'] . $params['amount']; $content .= $params['rechargestate'] . config::MER_ID; return md5($content); } //[$order_id, $success, $can_try, $need_handle] public function notify($params) { $status = intval($params['rechargestate']); $order_sn = $params['merchantorderId']; $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 === 99) { $data['official_sn'] = strtolower($params['orderid']) == 'null' ? '' : $params['orderid']; 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]; } } }