Exemplo n.º 1
0
 public function index($token)
 {
     $app_id = M('Wxuser')->where(array('token' => $token))->getField('fuwuappid');
     if ($_GET['auth_code'] == '') {
         $redirect_uri = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
         $api_url = 'https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=' . $app_id . '&auth_skip=false&scope=auth_userinfo,auth_contact&redirect_uri=' . urlencode($redirect_uri);
         echo '<script>window.location.href=\'' . $api_url . '\'</script>';
     } else {
         $auth_code = $_GET['auth_code'];
         $fuwuurl = 'https://openapi.alipay.com/gateway.do';
         $fuwudata = array('app_id' => $app_id, 'method' => 'alipay.system.oauth.token', 'charset' => 'UTF-8', 'sign_type' => 'RSA', 'timestamp' => date('Y-m-d H:i:s', time()), 'version' => '1.0', 'grant_type' => 'authorization_code', 'code' => $auth_code);
         require './PigCms/Lib/ORG/Fuwu/config.php';
         $AlipaySign = new AlipaySign();
         ksort($fuwudata);
         $params = array();
         foreach ($fuwudata as $key => $value) {
             $params[] = $key . '=' . $value;
         }
         $fuwudata_build = implode('&', $params);
         $fuwudata['sign'] = $AlipaySign->rsa_sign($fuwudata_build, $config['merchant_private_key_file']);
         $re = new HttpRequest();
         $fuwu_result = $re->sendPostRequst($fuwuurl, $fuwudata);
         $return = json_decode(iconv('GBK', 'UTF-8', $fuwu_result), true);
         if ($return['alipay_system_oauth_token_response']['access_token'] != '') {
             $auth_token = $return['alipay_system_oauth_token_response']['access_token'];
             $userinfo_url = 'https://openapi.alipay.com/gateway.do';
             $userinfo_data = array('app_id' => $app_id, 'method' => 'alipay.user.userinfo.share', 'charset' => 'GBK', 'sign_type' => 'RSA', 'timestamp' => date('Y-m-d H:i:s', time()), 'version' => '1.0', 'auth_token' => $auth_token);
             ksort($userinfo_data);
             $params2 = array();
             foreach ($userinfo_data as $key2 => $value2) {
                 $params2[] = $key2 . '=' . $value2;
             }
             $userinfo_data_build = implode('&', $params2);
             $userinfo_data['sign'] = $AlipaySign->rsa_sign($userinfo_data_build, $config['merchant_private_key_file']);
             $userinfo_result = $re->sendPostRequst($userinfo_url, $userinfo_data);
             $userinfo_return = json_decode(iconv('GBK', 'UTF-8', $userinfo_result), true);
             if ($userinfo_return['alipay_user_userinfo_share_response']['user_id'] != '') {
                 $m_fuwuuser = M('fuwuuser');
                 $where_fuwuuser['wecha_id'] = 'z_' . md5($userinfo_return['alipay_user_userinfo_share_response']['user_id']);
                 $where_fuwuuser['token'] = $token;
                 $fuwuuser = $m_fuwuuser->where($where_fuwuuser)->find();
                 if ($fuwuuser == '') {
                     $add_fuwuuser = $userinfo_return['alipay_user_userinfo_share_response'];
                     $add_fuwuuser['wecha_id'] = 'z_' . md5($userinfo_return['alipay_user_userinfo_share_response']['user_id']);
                     $add_fuwuuser['token'] = $token;
                     $add_fuwuuser['addtime'] = time();
                     $id_fuwuuser = $m_fuwuuser->add($add_fuwuuser);
                 } else {
                     $save_fuwuuser = $userinfo_return['alipay_user_userinfo_share_response'];
                     $update_fuwuuser = $m_fuwuuser->where($where_fuwuuser)->save($save_fuwuuser);
                 }
                 $wecha_id = 'z_' . md5($userinfo_return['alipay_user_userinfo_share_response']['user_id']);
                 return $wecha_id;
             }
         }
     }
 }
Exemplo n.º 2
0
 public function apiData($method, $biz_content)
 {
     $url = 'https://openapi.alipay.com/gateway.do';
     $data = array('app_id' => $this->appid, 'method' => $method, 'charset' => 'UTF-8', 'sign_type' => 'RSA', 'timestamp' => date('Y-m-d H:i:s', time()), 'biz_content' => $biz_content, 'version' => '1.0');
     require './weimicms/Lib/ORG/Fuwu/config.php';
     $AlipaySign = new AlipaySign();
     $data['sign'] = $AlipaySign->rsa_sign($this->buildQuery($data), $config['merchant_private_key_file']);
     $re = new HttpRequest();
     $result = $re->sendPostRequst($url, $data);
     return json_decode(iconv('GBK', 'UTF-8', $result), true);
 }
Exemplo n.º 3
0
 public function fuwu_code()
 {
     require './PigCms/Lib/ORG/Fuwu/HttpRequst.php';
     require './PigCms/Lib/ORG/Fuwu/aop/AopClient.php';
     require './PigCms/Lib/ORG/Fuwu/AlipaySign.php';
     $sceneId = (int) $_GET['id'];
     $biz_content = '{"codeInfo": {"scene": {"sceneId": "' . $sceneId . '"}},"codeType": "PERM","expireSecond": "","showLogo": "N"}';
     $app_id = M("Wxuser")->where(array('token' => $this->token))->getField('fuwuappid');
     $url = 'https://openapi.alipay.com/gateway.do';
     $data = array('app_id' => $app_id, 'method' => 'alipay.mobile.public.qrcode.create', 'charset' => 'UTF-8', 'sign_type' => 'RSA', 'timestamp' => date('Y-m-d H:i:s', time()), 'biz_content' => $biz_content, 'version' => '1.0');
     require './PigCms/Lib/ORG/Fuwu/config.php';
     $AlipaySign = new AlipaySign();
     $data['sign'] = $AlipaySign->rsa_sign($this->buildQuery($data), $config['merchant_private_key_file']);
     $re = new HttpRequest();
     $result = $re->sendPostRequst($url, $data);
     $return = json_decode(iconv('GBK', 'UTF-8', $result), true);
     if ($return['alipay_mobile_public_qrcode_create_response']['code'] == 200) {
         $GetDb = M('Recognition');
         $where_GetDb['id'] = $sceneId;
         $save_GetDb['fuwu_code_url'] = $return['alipay_mobile_public_qrcode_create_response']['code_img'];
         $update_GetDb = $GetDb->where($where_GetDb)->save($save_GetDb);
         if ($update_GetDb != false) {
             $this->success('获取成功');
         } else {
             $this->error('操作失败');
         }
     }
 }
Exemplo n.º 4
0
	/**
	 * 异步发送消息给用户
	 *
	 * @param string $biz_content        	
	 * @param string $isMultiSend
	 *        	如果发给所有人,则此参数必须为true,且biz_content中的toUserId必须为空
	 * @return string
	 */
	public function sendMsgRequest($biz_content, $isMultiSend = FALSE) {
		require FUWU_PATH.'config.php';
		$paramsArray = array (
				'method' => "alipay.mobile.public.message.custom.send",
				'biz_content' => $biz_content,
				'charset' => $config ['charset'],
				'sign_type' => 'RSA',
				'app_id' => FUWU_APPID,
				'timestamp' => date ( 'Y-m-d H:i:s', time () ) 
		);
		if ($isMultiSend) {
			$paramsArray ['method'] = "alipay.mobile.public.message.total.send";
		}
		require_once FUWU_PATH.'AlipaySign.php';
		$as = new AlipaySign ();
		$sign = $as->sign_request ( $paramsArray, $config ['merchant_private_key_file'] );
		$paramsArray ['sign'] = $sign;
		// print_r ( $paramsArray );
		// 日志记录下受到的请求
		file_put_contents ( "log.txt", var_export ( $paramsArray, true ) . "\r\n", FILE_APPEND );
		return HttpRequest::sendPostRequst ( $config ['gatewayUrl'], $paramsArray );
	}
Exemplo n.º 5
0
 public function menuQuery()
 {
     global $_GP;
     require_once WEB_ROOT . '/includes/lib/alipaySDK/config.php';
     require_once WEB_ROOT . '/includes/lib/alipaySDK/HttpRequst.php';
     require_once WEB_ROOT . '/includes/lib/alipaySDK/AopSdk.php';
     $menus_get = new AlipayMobilePublicMenuGetRequest();
     $parDatas = $this->bulidMenuPostData($menus_get->getApiMethodName());
     $content = HttpRequest::sendPostRequst($_GP['alipay_config']['gatewayUrl'], $parDatas);
     $datas = @json_decode(mb_convert_encoding($content, "UTF-8", "GBK"), true);
     $menu_content = $datas['alipay_mobile_public_menu_get_response']["menu_content"];
     $menusArr = @json_decode($menu_content, true);
     if (is_array($menusArr)) {
         $menus = array();
         foreach ($menusArr['button'] as $val) {
             $m = array();
             $m['type'] = $val['actionType'] == 'link' ? 'url' : 'click';
             $m['title'] = $val['name'];
             if ($m['type'] == 'click') {
                 $m['forward'] = $val['actionParam'];
             } else {
                 $m['url'] = $val['actionParam'];
             }
             $m['subMenus'] = array();
             if (!empty($val['subButton'])) {
                 foreach ($val['subButton'] as $v) {
                     $s = array();
                     $s['type'] = $v['actionType'] == 'link' ? 'url' : 'click';
                     $s['title'] = $v['name'];
                     if ($s['type'] == 'click') {
                         $s['forward'] = $v['actionParam'];
                     } else {
                         $s['url'] = $v['actionParam'];
                     }
                     $m['subMenus'][] = $s;
                 }
             }
             $menus[] = $m;
         }
         return $menus;
     }
 }
Exemplo n.º 6
0
 public function fuwu_code()
 {
     if (intval($this->wxuser["winxintype"]) != 3 && $this->wxuser["fuwuappid"] == "") {
         $this->error($isgostr);
         exit;
     }
     require "./weimicms/Lib/ORG/Fuwu/HttpRequst.php";
     require "./weimicms/Lib/ORG/Fuwu/aop/AopClient.php";
     require "./weimicms/Lib/ORG/Fuwu/AlipaySign.php";
     $sceneId = (int) $_GET["id"];
     $biz_content = "{\"codeInfo\": {\"scene\": {\"sceneId\": \"" . $sceneId . "\"}},\"codeType\": \"PERM\",\"expireSecond\": \"\",\"showLogo\": \"N\"}";
     $app_id = M("Wxuser")->where(array("token" => $this->token))->getField("fuwuappid");
     $url = "https://openapi.alipay.com/gateway.do";
     $data = array("app_id" => $app_id, "method" => "alipay.mobile.public.qrcode.create", "charset" => "UTF-8", "sign_type" => "RSA", "timestamp" => date("Y-m-d H:i:s", time()), "biz_content" => $biz_content, "version" => "1.0");
     require "./weimicms/Lib/ORG/Fuwu/config.php";
     $AlipaySign = new AlipaySign();
     $data["sign"] = $AlipaySign->rsa_sign($this->buildQuery($data), $config["merchant_private_key_file"]);
     $re = new HttpRequest();
     $result = $re->sendPostRequst($url, $data);
     $return = json_decode(iconv("GBK", "UTF-8", $result), true);
     if ($return["alipay_mobile_public_qrcode_create_response"]["code"] == 200) {
         $GetDb = M("Recognition");
         $where_GetDb["id"] = $sceneId;
         $save_GetDb["fuwu_code_url"] = $return["alipay_mobile_public_qrcode_create_response"]["code_img"];
         $update_GetDb = $GetDb->where($where_GetDb)->save($save_GetDb);
         if ($update_GetDb != false) {
             $this->success("获取成功");
         } else {
             $this->error("操作失败");
         }
     } else {
         $this->error("appid不正确");
     }
 }