<?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; } } ?>