Exemplo n.º 1
0
// $appkey = 'W82mDFvqubquxi9P';
$openid = '01B30933D45BC52A869A1C5AD2E2FBED';
$openkey = '38AB0FB09FE3476ECF7D88586A012F65';
// 应用基本信息
//$appid = 100657839;
//$appkey = 'b96b85196a04ff2ef08707f43979db15';
// OpenAPI的服务器IP
// 最新的API服务器地址请参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3
$server_name = '119.147.19.43';
// 用户的OpenID/OpenKey
//$openid = 'E098C1E975A2459E534B48FB3224CFB6';
//$openkey = '05219DB6D7C04CA0B3F01A51D32635E3';
// 所要访问的平台, pf的其他取值参考wiki文档: http://wiki.open.qq.com/wiki/API3.0%E6%96%87%E6%A1%A3
$pf = 'qzone';
$sdk = new OpenApiV3($appid, $appkey);
$sdk->setServerName($server_name);
$ret = get_user_info($sdk, $openid, $openkey, $pf);
print_r("===========================\n");
print_r($ret);
/**
 * 获取好友资料
 *
 * @param object $sdk OpenApiV3 Object
 * @param string $openid openid
 * @param string $openkey openkey
 * @param string $pf 平台
 * @return array 好友资料数组
 */
function get_user_info($sdk, $openid, $openkey, $pf)
{
    $params = array('openid' => $openid, 'openkey' => $openkey, 'pf' => $pf);
Exemplo n.º 2
0
 /**
  * 构造函数
  * @param string $server_ip 
  *                       测试环境为:1.254.254.22  
  *      				 正式环境为:openapi.tencentyun.com
  * @param int $appid 应用的ID
  * @param string $appkey 应用的密钥
  */
 function __construct($server_ip, $appid, $appkey)
 {
     parent::__construct($appid, $appkey);
     parent::setServerName($server_ip);
 }
Exemplo n.º 3
0
/**
 * 申请购买物品
 * @param $openid
 * @param $openkey
 * @param $pf
 * @param $pfkey
 * @param $item
 * @param $itemnum
 */
function method_Paytoken($openid, $openkey, $pf, $pfkey, $item, $itemnum, $host)
{
    $item_String = common::getItemInfo($item);
    if ($item_String == NULL) {
        return json_encode(array("ret" => 1, "msg" => '出售的物品不存在!'));
    }
    $server_index = $GLOBALS['ZONE_ID'];
    if ($server_index == -1) {
        return json_encode(array("ret" => 1, "msg" => '购买异常请联系游戏客服!'));
    }
    $item_JSON = json_decode($item_String, true);
    if (isset($item_JSON['id']) && isset($item_JSON['price'])) {
        $itemID = $item_JSON['id'];
        $itemname = $item_JSON['name'];
        $itemprice = $item_JSON['price'];
        $itemDesc = $item_JSON['name'];
        $itemURL = "http://app100722626.imgcache.qzoneapp.com/app100722626/1000/store/" . $item_JSON['url'] . ".jpg";
        $appkey = $GLOBALS['APPKEY'];
        $appid = $GLOBALS['APPID'];
        $ts = time();
        $payitem = $itemID . '*' . $itemprice . '*' . $itemnum;
        $goodsmeta = $itemname . '*' . $itemDesc;
        $goodsurl = $itemURL;
        $zoneid = $server_index;
        $appmode = "2";
        //1表示用户不可以修改物品数量,2表示用户可以选择购买物品的数量。 默认为2;
        $sdk = new OpenApiV3($appid, $appkey);
        $sdk->setServerName($GLOBALS['SERVER_NAME']);
        $param = array('appid' => $appid, 'appmode' => $appmode, 'goodsmeta' => $goodsmeta, 'goodsurl' => $goodsurl, 'openid' => $openid, 'openkey' => $openkey, 'payitem' => $payitem, 'pf' => $pf, 'pfkey' => $pfkey, 'ts' => $ts, 'zoneid' => $zoneid);
        $response = $sdk->api('/v3/pay/buy_goods', $param, 'post', 'https');
        if (isset($response['ret'])) {
            $key_token = "";
            if ($response['ret'] == 0) {
                return json_encode(array("ret" => $response['ret'], "url_params" => $response['url_params'], "token" => $response['token']));
            } else {
                $errormsg = "返回异常";
                if (isset($response['msg'])) {
                    $errormsg = $response['msg'];
                }
                return json_encode(array("ret" => $response['ret'], "msg" => $errormsg));
            }
        } else {
            return json_encode(array("ret" => 1, "msg" => '请求异常,请联系客服人员!'));
        }
    } else {
        return json_encode(array("ret" => 1, "msg" => '出售的物品不存在!'));
    }
}
Exemplo n.º 4
0
log::init('./log', 'qq_log');
$uri = $_SERVER['REQUEST_URI'];
$method = strtoupper($_SERVER['REQUEST_METHOD']);
if ("GET" == $method) {
    $params = $_GET;
} else {
    if ("POST" == $method) {
        $body = file_get_contents('php://input');
        $params = $_POST;
    }
}
log::instance()->debug("new con: {$uri} {$body}");
$appid = '1102506911';
$pf_info = $config["tencent"][$appid];
$openApi = new OpenApiV3($appid, $pf_info['AppKey']);
$openApi->setServerName('openapi.tencentyun.com');
// 查询余额
$pay_params = array('openid' => $params['openid'], 'openkey' => $params['openkey'], 'pay_token' => $params['pay_token'], 'ts' => time(), 'pf' => $params['pf'], 'zoneid' => $params['zoneid'], 'pfkey' => $params['pfkey']);
$pay_cookie = array('session_id' => 'openid', 'session_type' => 'kp_actoken', 'org_loc' => '/mpay/get_balance_m');
$result = $openApi->api($pay_cookie['org_loc'], $pay_params, $pay_cookie, 'GET', 'https');
$result['msg'] = urlencode($result['msg']);
$response = array('type' => 1, 'ret' => $result['ret']);
if ($result['ret'] !== 0) {
    log::instance()->error("ret: 查询失败 " . urldecode(json_encode($result)));
    echo json_encode($response);
    exit;
} else {
    if ($result['balance'] - $result['gen_balance'] < $params['save_num']) {
        log::instance()->error("ret: 余额不足 " . urldecode(json_encode($result)));
        $response['msg'] = "余额不足";
        echo json_encode($response);
Exemplo n.º 5
0
 /**
  * qq授权
  */
 protected function qqOauth($accessToken, $qqUid)
 {
     require_once __DIR__ . '/oauth/QQAPI/OpenApiV3.php';
     $oauth = new OpenApiV3($this->sdkconfig['QQ']['QQAppID'], $this->sdkconfig['QQ']['QQAppKey']);
     $oauth->setServerName($this->sdkconfig['QQ']['QQServerUrl']);
     $content = $oauth->api('/user/get_user_info', array('access_token' => $accessToken, 'oauth_comsumer_key' => $this->sdkconfig['QQ']['QQAppID'], 'openid' => $qqUid, 'format' => 'json'), 'get', 'https');
     return $content;
 }