/** * 新浪实名认证 * @param $uid * @param $name * @param $idcard * @return array */ public static function authentication($uid, $name, $idcard) { $config = self::getConfig(); $site_prefix = $config->sinapay_site_prefix; $uid = (int) $uid; $idcard = trim($idcard); $user_ip = Yii::$app->request->userIp; $phone = member::getPhone($uid); if ($phone) { $flag = self::getIdentity($uid); if ($flag) { $return = array('errorNum' => '1', 'errorMsg' => '请勿重复认证', 'data' => null); return $return; } $res = self::baiduIdentity($idcard); if ($res) { $sina = new sina(); //创建激活会员 $identity_id = time() . $site_prefix . $idcard; $create = $sina->create_activate_member($identity_id); //以创建激活会员但是实名信息错误 if (in_array($create['response_code'], array('APPLY_SUCCESS', 'DUPLICATE_IDENTITY_ID'))) { //设置实名信息 $realname = $sina->set_real_name($identity_id, $name, $idcard); if ($realname['response_code'] == 'APPLY_SUCCESS') { //绑定认证信息 $binding = $sina->binding_verify($identity_id, $phone); if ($binding['response_code'] == 'APPLY_SUCCESS') { self::memberLog($uid, $identity_id, $name, $idcard, $user_ip, $phone, SinaMember::STATUS_BINGING, $binding['response_message']); $return = array('errorNum' => '0', 'errorMsg' => 'success', 'data' => null); return $return; } else { self::memberLog($uid, $identity_id, $name, $idcard, $user_ip, $phone, SinaMember::STATUS_ERROR, $binding['response_message']); $return = array('errorNum' => '1', 'errorMsg' => $binding['response_message'], 'data' => null); return $return; } } else { self::memberLog($uid, $identity_id, $name, $idcard, $user_ip, $phone, SinaMember::STATUS_ERROR, $realname['response_message']); $return = array('errorNum' => '1', 'errorMsg' => $realname['response_message'] . '1', 'data' => null); return $return; } } else { self::memberLog($uid, $identity_id, $name, $idcard, $user_ip, $phone, SinaMember::STATUS_ERROR, $create['response_message']); $return = array('errorNum' => '1', 'errorMsg' => $create['response_message'], 'data' => null); return $return; } } else { self::memberLog($uid, 'errror', $name, $idcard, $user_ip, $phone, SinaMember::STATUS_ERROR, '身份证号错误'); $return = array('errorNum' => '1', 'errorMsg' => '身份证号错误', 'data' => null); return $return; } } else { $return = array('errorNum' => '1', 'errorMsg' => '用户被锁定', 'data' => null); return $return; } }