sign($params); if ($params['sign'] == $sign) { return true; } else { return false; } } private function sign($params) { $content = $params['status'] . config::PARTNER_ID . $params['partner_order_no'] . $params['account'] . $params['amount'] . $params['charge_amount'] . $params['type'] . config::KEY; return md5($content); } //status:-3手动取消,-2用电户号不正确,-1充值失败,0未充值,1部分充值,2充值完成 public function notify($params) { $status = intval($params['status']); $order_sn = $params['partner_order_no']; $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) { return [$order_id, true, false, true]; } elseif (in_array($status, [-1, -2, -3], true)) { return [$order_id, false, true, true]; } else { //0和1 不判定 后面会发 2充值完成 return [$order_id, false, false, false]; } } }