地址: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的签名

[转]微信公众平台WeChat PHP SDK的更多相关文章

  1. 微信公众平台教程和SDK收集

    教程收集: 1.Senparc(.net) http://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html 2.方倍工作室 ...

  2. 170303、PHP微信公众平台开发接口 SDK完整版

    <?php /* 方倍工作室 http://www.fangbei.org/ CopyRight 2015 All Rights Reserved */ define("TOKEN&q ...

  3. 微信公众平台SDK Python

    微信公众平台SDK 项目背景 从2014年开始玩微信公众平台,试用过其中大多数的功能,如:消息回复.自定义菜单.公众号中的支付,页面授权等.之前的程序中都是直接调用公众平台的接口,这样复用功能无法实现 ...

  4. 微信公众平台开发接口PHP SDK

    以前没接触过微信公众平台开发,前几天刚找到实习公司就要求我做一个微信公众平台的应用,于是乎开始学习微信公众平台开发接口的调用,看开发文档之后还是不知道从何入手,只好上网找入门资料,终于在方倍工作室找到 ...

  5. Senparc.Weixin.MP SDK 微信公众平台开发教程(十八):Web代理功能

    在Senparc.Weixin.dll v4.5.7版本开始,我们提供了Web代理功能,以方便在受限制的局域网内的应用可以顺利调用接口. 有关的修改都在Senparc.Weixin/Utilities ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(十七):个性化菜单接口说明

    前不久微信上线了个性化菜单接口,Senparc.Weixin SDK也已经同步更新. 本次更新升级Senparc.Weixin.MP版本到v13.5.2,依赖Senparc.Weixin版本4.5.4 ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

    要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(四):Hello World

    =============  以下写于2013-07-20 ============= 这一篇文章其实可以写在很前面,不过我还是希望开发者们尽多地了解清楚原理之后再下手. 通过上一篇Senparc.W ...

  9. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信6.x的所有公共API. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:https://github.com/JeffreySu ...

随机推荐

  1. 【网络——Linux】——IPMI详细介绍【转】

    一.IPMI含义 智能平台管理接口(IPMI:Intelligent Platform Management Interface)是一项应用于服务器管理系统设计的标准,由Intel.HP.Dell和N ...

  2. struts2:上传多个文件时实现带进度条、进度详细信息的示范

    上一篇文章讲了上传单个文件与上传多个文件(属性驱动)的例子.本例是上传多个文件(属性驱动),并且显示进度条.进度详细信息的示范. 在文件上传选择界面,允许用户增加.删除选择的文件,且只能上传指定类型的 ...

  3. Request is not available in this context

    部署到新服务器的IIS的时候发现这个错误: Request is not available in this context 解决方案: <system.web> <customEr ...

  4. GNU风格 ARM汇编语法指南

    汇编源程序一般用于系统最基本的初始化:初始化堆栈指针.设置页表.操作 ARM的协处理器等.这些初始化工作完成后就可以跳转到C代码main函数中执行. 1.  GNU汇编语言语句格式 任何Linux汇编 ...

  5. Python--类-例子

    class Base: def __init__(self): self.data = [] def add(self, x): self.data.append(x) def addtwice(se ...

  6. hadoop 转

    detailed http://wenku.baidu.com/view/c2d1ebb4ba0d4a7302763a84.html http://hadoop.apache.org/docs/r1. ...

  7. 15个实用的CSS在线实例教程

    前端技术可以说是必须学习的一个技术,现在做网站都需要懂DIV.CSS,在国内很多企业招网页设计师都要求会写基本的前端代码,所以前端技术是 必须了解的,对网页设计师本身也有帮助,今天向大家推荐一些不错的 ...

  8. 配置NAT回流导致外网解析到了内网IP

    单位有3个域名,用量很大,2014年开始本人研究部署了Bind+DLZ +Mysql的三机智能多链路DNS,非常好用,优点是: 1.使用Mysql管理记录,配置.管理.查询方便. 2.自动判断运营商, ...

  9. 使用UIKit制作卡牌游戏(二)ios游戏篇

    转自朋友Tommy 的翻译,自己只翻译了第三篇教程. 译者: Tommy | 原文作者: Matthijs Hollemans写于2012/07/06 原文地址: http://www.raywend ...

  10. MyEclipse 2015优化技巧

    MyEclipse 2015优化速度方案仍然主要有这么几个方面:去除无需加载的模块.取消冗余的配置.去除不必要的检查.关闭更新. 第一步: 去除不需要加载的模块 一个系统20%的功能往往能够满足80% ...