地址:https://github.com/dodgepudding/wechat-php-sdkphp
微信公衆平臺php開發包,細化各項接口操做,支持鏈式調用git
微信支付接入文檔: https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/course2_tmpl&lang=zh_CNgithub
- wechat.class.php
調用官方API,具備更靈活的消息分類響應方式,支持鏈式調用操做 ;
主要功能
- 接入驗證 (初級權限)
- 自動回覆(文本、圖片、語音、視頻、音樂、圖文)(初級權限)
- 菜單操做(查詢、建立、刪除)(菜單權限)
- 客服消息(文本、圖片、語音、視頻、音樂、圖文)(認證權限)
- 二維碼(建立臨時、永久二維碼,獲取二維碼URL)(認證權限)
- 分組操做(查詢、建立、修改、移動用戶到分組)(認證權限)
- 網頁受權(基本受權,用戶信息受權)(認證權限)
- 用戶信息(查詢用戶基本信息、獲取關注者列表)(認證權限)
- 媒體文件(上傳、獲取)(認證權限)
- 調用地址組件 (支付權限)
- 生成訂單簽名數據 (支付權限)
- 訂單成功回調 (支付權限)
- 發貨通知 (支付權限)
- 支付訂單查詢 (支付權限)
初始化動做
$options = array(
'token'=>'tokenaccesskey', //填寫你設定的key
'appid'=>'wxdk1234567890', //填寫高級調用功能的app id, 請在微信開發模式後臺查詢
'appsecret'=>'xxxxxxxxxxxxxxxxxxx', //填寫高級調用功能的密鑰
'partnerid'=>'88888888', //財付通商戶身份標識,支付權限專用,沒有可不填
'partnerkey'=>'', //財付通商戶權限密鑰Key,支付權限專用
'paysignkey'=>'' //商戶簽名密鑰Key,支付權限專用
);
$weObj = new Wechat($options); //建立實例對象
//TODO:調用$weObj各實例方法
新增Auth高級權限類方法:微信
- checkAuth($appid,$appsecret) 此處傳入公衆後臺高級接口提供的appid和appsecret, 函數將返回access_token操做令牌
- createMenu($data) 建立菜單 $data菜單結構詳見 http://mp.weixin.qq.com/wiki/index.php?title=%E8%87%AA%E5%AE%9A%E4%B9%89%E8%8F%9C%E5%8D%95%E5%88%9B%E5%BB%BA%E6%8E%A5%E5%8F%A3
- getMenu() 獲取菜單
- deleteMenu() 刪除菜單
- getMedia() 獲取接收到的音頻、視頻媒體文件
- getQRCode($scene_id,$type=0,$expire=1800) 獲取推廣二維碼ticket字串
- getQRUrl($ticket) 獲取二維碼圖片地址
- getUserList($next_openid) 批量獲取關注用戶列表
- getUserInfo($openid) 獲取關注者詳細信息
- getGroup() 獲取用戶分組列表
- createGroup($name) 新增自定分組
- updateGroup($groupid,$name) 更改分組名稱
- updateGroupMembers($groupid,$openid) 移動用戶分組
- sendCustomMessage($data) 發送客服消息
- getOauthRedirect($callback,$state,$scope) 獲取網頁受權oAuth跳轉地址
- getOauthAccessToken() 經過回調的code獲取網頁受權access_token
- getOauthRefreshToken($refresh_token) 經過refresh_token對access_token續期
- getOauthUserinfo($access_token,$openid) 經過網頁受權的access_token獲取用戶資料
- getSignature($arrdata,'sha1') 生成簽名字串
- generateNonceStr($length) 獲取隨機字串
- createPackage($out_trade_no,$body,$total_fee,$notify_url,$spbill_create_ip,$fee_type=1,$bank_type="WX",$input_charset="UTF-8",$time_start="",$time_expire="",$transport_fee="",$product_fee="",$goods_tag="",$attach="") 生成訂單package字符串
- getPaySign($package, $timeStamp, $nonceStr) 支付簽名(paySign)生成方法
- checkOrderSignature($orderxml='') 回調通知簽名驗證
- sendPayDeliverNotify($openid,$transid,$out_trade_no,$status=1,$msg='ok') 發貨通知
- getPayOrder($out_trade_no) 查詢訂單信息
- getAddrSign($url, $timeStamp, $nonceStr, $user_token='') 獲取收貨地址JS的簽名