地址:https://github.com/dodgepudding/wechat-php-sdk
微信公众平台php开发包,细化各项接口操作,支持链式调用
微信支付接入文档: https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/course2_tmpl&lang=zh_CN
- 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的签名