getConfig(); // var_dump('
', $config);

	// 接口URL(测试)
	// $api_url = $config['pay_url'];
	$api_url = $_POST['url'];
	$message = array(
		"url"=>$api_url,
	);
	// echo json_encode($message,true);
	
	// $appid = 'YOUR_APPID';
	// $appsecret = '';
	$redirect_uri = 'https://shop.heavenk.com/mobile/'; // 回调URL

	// 构造授权链接
	$auth_url = 'https://open.weixin.qq.com/connect/oauth2/authorize'
	. '?appid=' . urlencode($appid)
	. '&redirect_uri=' . urlencode($redirect_uri)
	. '&response_type=code'
	. '&scope=snsapi_userinfo' // snsapi_base 只获取openid,snsapi_userinfo 获取用户信息
	. '&state=STATE';      // wechat_redirect

	// 如果用户已经授权,则重定向到回调URL,并获取用户的openid
	if (isset($_GET['code'])) {
		$code = $_GET['code'];

		// $code = '100010';

		// 构造获取access_token的URL
		$token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token'
			. '?appid=' . urlencode($appid)
			. '&secret=' . urlencode($appsecret)
			. '&code=' . urlencode($code)
			. '&grant_type=authorization_code';

		// 发送HTTP请求获取access_token

		// 创建一个cURL句柄
		$ch = curl_init();

		// 设置请求的URL和其他选项
		curl_setopt($ch, CURLOPT_URL, $token_url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

		// 发送HTTP GET请求并获取响应
		$response = curl_exec($ch);

		// 检查是否有错误发生
		if(curl_errno($ch)) {
			echo 'cURL Error: ' . curl_error($ch);
		}

		// 关闭cURL句柄
		curl_close($ch);

		// 输出响应
		$response = json_decode($response);
		// var_dump($response->openid);
		$_SESSION['openid'] = $response->openid;
		$config['openid'] = $response->openid;

		// // 在这里处理获取到的openid
		// echo $openid;
	} else {
		// 如果没有授权,则重定向到授权页面
		header('Location: ' . $auth_url);
		var_dump($_GET['code']);
		exit();
	}
	// 加个body字段传中文试试

	// 组装交易报文
	$reqsn_prefix = date('Ymd');
	// var_dump("uniq_id(reqsn)");
	// echo "\r\n";
	// var_dump(uniqid($reqsn_prefix));
	$trade_data = array(
		'orgid' => $config['org_num'],
		'cusid' => $config['cusid'],
		'branchno' => $config['branchno'],
		'termcode' => $config['termcode'],
		'version' => $config['version'],
		'trxamt' => '1',
		'reqsn' => uniqid($reqsn_prefix),
		'producp' => 'JX0002',
		'transtype' => 'JSP511',
		'paytype' => 'W02',
		'randomstr' => md5( uniqid() ),
		'body' => 'pages',
		'acct' => $config['openid'],
	);

	// 生成签名
	$sign = $Base->Crypt->makeSign($trade_data);
	if($sign === false)
	{
		// echo $Base->Crypt->err_msg;
		$errorMessage = array(
			"data"=>"makeSign error..."
		);
		return json_encode($errorMessage,true);
		die();
	}
	// echo "\r\n";
	// echo "[sign]: {$sign}";
	// die();

	// 加密交易报文
	$crypted_trade_data = $Base->Crypt->encryptTradeData($trade_data);
	if($crypted_trade_data === false)
	{
		// echo $Base->Crypt->err_msg;
		$errorMessage = array(
			"data"=>"encryptTradeData error..."
		);
		return json_encode($errorMessage,true);
		die();
	}
	// echo "\r\n";
	// echo "[crypted message]: {$crypted_trade_data}";
	// die();

	// 发送报文
	// echo "\r\n";
	// var_dump($api_url);
	$response = $Base->Request->send($api_url, $crypted_trade_data, $sign);
	if($response === false)
	{
		// echo $Base->Request->err_msg;
		$errorMessage = array(
			"data"=>"send error..."
		);
		return json_encode($errorMessage,true);
		die();
	}
	// echo "\r\n";
	// echo "[response message]: {$response}";

	// 解析响应报文
	$response = json_decode($response, true);
	$response_data_crypted = $response['data'];
	$response_sign = $response['sign'];
	// echo "\r\n";
	// echo "[response sign]: {$response_sign}";
	// echo "\r\n";
	// echo "[response data (ciphertext)]: {$response_data_crypted}";

	// 解密响应密文
	$response_data = $Base->Crypt->decryptTradeData($response_data_crypted);
	if($response_data === false)
	{
		// echo $Base->Crypt->err_msg;
		$errorMessage = array(
			"data"=>"decryptTradeData error..."
		);
		return json_encode($errorMessage,true);
		die();
	}
	// echo "\r\n";
	// echo "[response data(clear text)]: {$response_data}";
	// die();
	echo $response_data;

?>