Ejemplo n.º 1
0
 /**
  * 新浪实名认证
  * @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;
     }
 }