微信卡券PHP开发API类

<?php
/**
* 微信卡券类
*      @author HatchSolution
*      @link http://www.hatchsolution.com
*      @version 1.0.0
*      @uses $hongbaoHelper = new WxCardHelper();
*      @package POI门店管理接口 陆续会继续进行更新
*
* 卡券通过审核、卡券被用户领取、卡券被用户删除均会触发事件推送,该事件将发送至开发者填写的URL(登录公众平台进入开发者中心设置)
* 特殊卡券:会员卡,电影票,会议门票
*/
namespace Lib\Org\Util;
class WxCardHelper
{
	function __construct()
	{
		
	}
     
    /****************************************************
     *  微信获取ApiTicket 返回指定微信公众号的at信息
     ****************************************************/
 
    public function wxJsApiTicket($accessToken){
        $url            = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=".$accessToken."&type=wx_card";
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url);
        $jsoninfo       = json_decode($result, true);
        $ticket         = $jsoninfo['ticket'];
        //echo $ticket . "<br />";
        return $ticket;
    }
 
    /*******************************************************
     *      微信卡券:获取颜色
     *******************************************************/
    public function wxCardColor($wxAccessToken){
        $url            = "https://api.weixin.qq.com/card/getcolors?access_token=".$wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok","colors":[{"name":"Color010","value":"#55bd47"},{"name":"Color020","value":"#10ad61"},{"name":"Color030","value":"#35a4de"}]}
    }
     
    /*******************************************************
     *      微信卡券:创建卡券
	 *
	 *{ "card": {
	 *	"card_type": "GROUPON",
	 *		"groupon": {
	 *			"base_info": {
	 *				"logo_url":
	 *				"http:\/\/www.supadmin.cn\/uploads\/allimg\/120216\/1_120216214725_1.jpg",
	 *				"brand_name":"海底捞",
	 *				"code_type":"CODE_TYPE_TEXT",
	 *				"title": "132 元双人火锅套餐",
	 *				"sub_title": "",
	 *				"color": "Color010",
	 *				"notice": "使用时向服务员出示此券",
	 *				"service_phone": "020-88888888",
	 *				"description": "不可与其他优惠同享\n 如需团购券发票, 请在消费时向商户提出\n 店内均可
	 *				使用,仅限堂食\n 餐前不可打包,餐后未吃完,可打包\n 本团购券不限人数,建议 2 人使用,超过建议人
	 *				数须另收酱料费 5 元/位\n 本单谢绝自带酒水饮料",
	 *				"date_info": {
	 *					"type": 1,
	 *					"begin_timestamp": 1397577600 ,
	 *					"end_timestamp": 1422724261
	 *				},
	 *				"sku": {
	 *					"quantity": 50000000
	 *				},
	 *				"get_limit": 3,
	 *				"use_custom_code": false,
	 *				"bind_openid": false,
	 *				"can_share": true,
	 *				"can_give_friend": true,
	 *				"location_id_list" : [123, 12321, 345345],
	 *				"custom_url_name": "立即使用",
	 *				"custom_url": "http://www.qq.com",
	 *				"custom_url_sub_title": "6 个汉字 tips",
	 *				"promotion_url_name": "更多优惠",
	 *				"promotion_url": "http://www.qq.com",
	 *				"source": "大众点评"
	 *			},
	 *			"deal_detail": "以下锅底 2 选 1(有菌王锅、麻辣锅、大骨锅、番茄锅、清补凉锅、酸菜鱼锅可
	 *			选):\n 大锅 1 份 12 元\n 小锅 2 份 16 元\n 以下菜品 2 选 1\n 特级肥牛 1 份 30 元\n 洞庭鮰鱼卷 1 份
	 *			20 元\n 其他\n 鲜菇猪肉滑 1 份 18 元\n 金针菇 1 份 16 元\n 黑木耳 1 份 9 元\n 娃娃菜 1 份 8 元\n 冬
	 *			瓜 1 份 6 元\n 火锅面 2 个 6 元\n 欢乐畅饮 2 位 12 元\n 自助酱料 2 位 10 元"
			}
	 *	}
	 *}
	 *{
	 *	"errcode":0,
	 *	"errmsg":"ok",
	 *	"card_id":"p1Pj9jr90_SQRaVqYI239Ka1erkI"
	 *}
     *******************************************************/
    public function wxCardCreated($jsonData, $wxAccessToken) {
        $url            = "https://api.weixin.qq.com/card/create?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok","card_id":"p1Pj9jr90_SQRaVqYI239Ka1erkI"}
    }
    
	/****************************************************
     *  微信生成二维码Card
	 *{
	 *	"action_name": "QR_CARD",
	 *	"action_info": {
	 *		"card": {
	 *			"card_id": "pFS7Fjg8kV1IdDz01r4SQwMkuCKc",
	 *			"code": "198374613512",
	 *			"openid": "oFS7Fjl0WsZ9AMZqrI80nbIq8xrA",
	 *			"expire_seconds": "1800",
	 *			"is_unique_code": false ,
	 *			"outer_id" : 1
	 *		}
	 *	}
	 *}
     ****************************************************/
 
    public function wxQrCodeCard($jsonData, $wxAccessToken){
        $url        = "https://api.weixin.qq.com/card/qrcode/create?access_token=".$wxAccessToken;
        $result     = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        return $result;
		//{"errcode":0,"errmsg":"ok","ticket":"gQG28DoAAAAAAAAAASxodHRwOi8vd2VpeGluLnFxLmNvbS9xL0FuWC1DNmZuVEhvMVp4NDNMRnNRAAIEesLvUQMECAcAAA=="}
    }
 
    /*******************************************************
     *      微信卡券:消耗卡券
	 *{
	 *	"code":"110201201245",
	 *	"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"
	 *}
     *******************************************************/
    public function wxCardConsume($code, $card_id = '', $wxAccessToken){
		$jsonData = json_encode(array("code" => $code , 'card_id' => $cardId ));
        $url            = "https://api.weixin.qq.com/card/code/consume?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;  
		//{"errcode":0,"errmsg":"ok","card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"},"openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA"}
    }
     
    /*******************************************************
     *      微信卡券:选择卡券 - 解析CODE
	 *{
	 *	"encrypt_code":
	 *	"XXIzTtMqCxwOaawoE91+VJdsFmv7b8g0VZIZkqf4GWA60Fzpc8ksZ/5ZZ0DVkXdE"
	 *}
     *******************************************************/       
    public function wxCardDecryptCode($encrypt_code, $wxAccessToken){
		$jsonData = json_encode(array("encrypt_code" => $encrypt_code));
        $url            = "https://api.weixin.qq.com/card/code/decrypt?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok","code":"751234212312"}
    }
 
    /*******************************************************
     *      微信卡券:删除卡券
	 *{
	 *	"card_id": "p1Pj9jr90_SQRaVqYI239Ka1erkI"
	 *}
     *******************************************************/
    public function wxCardDelete($card_id, $wxAccessToken){
		$jsonData = json_encode(array("card_id" => $card_id));
        $url            = "https://api.weixin.qq.com/card/delete?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok"}
    }
	
    /*******************************************************
     *      微信卡券:查询用户CODE
	 *{
	 *	"code":"110201201245"
	 *}
     *******************************************************/       
    public function wxCardQueryCode($code , $card_id = '', $wxAccessToken){         
        $jsonData = json_encode(array("code" => $code , 'card_id' => $card_id ));
        $url            = "https://api.weixin.qq.com/card/code/get?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok","openid":"oFS7Fjl0WsZ9AMZqrI80nbIq8xrA"," card":{"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc","begin_time": 1404205036,"end_time": 1404205036,}}
    }
	
	/*******************************************************
     *      微信卡券:查询用户CODE
	 *{
	 *	"code":"110201201245"
	 *}
     *******************************************************/       
    public function wxCardBatchGet($offset, $count, $wxAccessToken){
		$jsonData = json_encode(array("offset" => $offset , 'count' => $count ));
        $url            = "https://api.weixin.qq.com/card/batchget?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok","card_id_list":["ph_gmt7cUVrlRk8swPwx7aDyF-pg"],"total_num":1}
    }
	
    /*******************************************************
     *      微信卡券:查询卡券详情
	 *{
	 *	"card_id":"pFS7Fjg8kV1IdDz01r4SQwMkuCKc"
	 *}
     *******************************************************/
    public function wxCardGetInfo($card_id, $wxAccessToken) {
		$jsonData = json_encode(array("card_id" => $card_id));
        $url            = "https://api.weixin.qq.com/card/get?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
    }
	
	/*******************************************************
     *      微信卡券:更改卡券code
	 *{
	 *	"code": "12345678",
	 *	"card_id": "p1Pj9jr90_SQRaxxxxxxxx",
	 *	"new_code": "3495739475"
	 *}
     *******************************************************/
    public function wxCardUpdateCode($code, $card_id, $new_code, $wxAccessToken) {
		$jsonData = json_encode(array("code" => $code , 'card_id' => $card_id , 'new_code' => $new_code));
        $url            = "https://api.weixin.qq.com/card/code/update?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok"}
    }
	
	/*******************************************************
     *      微信卡券:设置卡券失效接口
	 *{
	 *	"code": "12312313"
	 *}
     *******************************************************/
    public function wxCardUnavailableCode($code, $card_id, $wxAccessToken) {
		$data['code'] = $code;
		if (!empty($card_id)) {
			$data['card_id'] = $card_id;
		}
		$jsonData = json_encode($data);
        $url            = "https://api.weixin.qq.com/card/code/unavailable?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok"}
    }
	
	/*******************************************************
     *      微信卡券:更改卡券信息接口
	 {
	 *"card_id": "xxxxxxxxxxxxx",
	 *"member_card": {
	 *	"base_info": {
	 *		"logo_url":
	 *		"http:\/\/www.supadmin.cn\/uploads\/allimg\/120216\/1_120216214725_1.jpg",
	 *		"color": "Color010",
	 *		"notice": "使用时向服务员出示此券",
	 *		"service_phone": "020-88888888",
	 *		"description": "不可与其他优惠同享\n 如需团购券发票,请在消费时向商户提出\n
	 *		店内均可使用,仅限堂食\n 餐前不可打包,餐后未吃完,可打包\n 本团购券不限人数,建议 2 人使用,超
	 *		过建议人数须另收酱料费 5 元/位\n 本单谢绝自带酒水饮料"
	 *		"location_id_list" : [123, 12321, 345345]
	 *	},
	 *	"bonus_cleared": "aaaaaaaaaaaaaa",
	 *	"bonus_rules": "aaaaaaaaaaaaaa",
	 *	"prerogative": ""
	 *	}
	 *}
     *******************************************************/
    public function wxCardUpdate($jsonData, $wxAccessToken) {
        $url            = "https://api.weixin.qq.com/card/update?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok"}
    }	
     
    /*******************************************************
     *      微信卡券:更改库存
	 *{
	 *	"card_id": "xxxx_card_id",
	 *	"increase_stock_value": 1231231,
	 *	"reduce_stock_value": 1231231
	 *}
     *******************************************************/
    public function wxCardModifyStock($cardId , $wxAccessToken, $increase_stock_value = 0 , $reduce_stock_value = 0){
        if(intval($increase_stock_value) == 0 && intval($reduce_stock_value) == 0){
            return false;
        }
         
        $jsonData = json_encode(array("card_id" => $cardId , 'increase_stock_value' => intval($increase_stock_value) , 'reduce_stock_value' => intval($reduce_stock_value)));
         
        $url            = "https://api.weixin.qq.com/card/modifystock?access_token=" . $wxAccessToken;
        $result         = \Lib\Org\Util\WxApi::wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
		//{"errcode":0,"errmsg":"ok"}
    }
  
    /*******************************************************
     *      微信卡券:设置白名单
	 * {
	 *	"openid": [
	 *		"o1Pj9jmZvwSyyyyyyBa4aULW2mA",
	 *		"o1Pj9jmZvxxxxxxxxxULW2mA"
	 *	],
	 *	"username": [
	 *		"afdvvf",
	 *		"abcd"
	 *	]
	 *}
     *******************************************************/
    public function wxCardWhiteList($jsonData, $wxAccessToken){
        $url            = "https://api.weixin.qq.com/card/testwhitelist/set?access_token=" . $wxAccessToken;
        $result         = $this->wxHttpsRequest($url,$jsonData);
        $jsoninfo       = json_decode($result, true);
        return $jsoninfo;
    }
 
}

?>


你可能感兴趣的:(微信卡券PHP开发API类)