欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

[转]微信公众平台WeChat PHP SDK

程序员文章站 2022-05-11 18:07:49
...

地址:https://github.com/dodgepudding/wechat-php-sdk 微信公众平台php开发包,细化各项接口操作,支持链式调用 微信支付接入文档: https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/course2_tmpllang=zh_CN wechat.class.php 调用官方API,具有

地址:https://github.com/dodgepudding/wechat-php-sdk

微信公众平台php开发包,细化各项接口操作,支持链式调用

微信支付接入文档: https://mp.weixin.qq.com/cgi-bin/readtemplate?t=business/course2_tmpl&lang=zh_CN

  1. 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的签名