php版微信公众号接口实现发红包的方法

本文实例讲述了php版微信公众号接口实现发红包的方法。分享给大家供大家参考,具体如下:

最近接到一个任务,需要用微信来给用户自动发红包。要完成这个任务需要这么已经一些物料

微信商户号,已申请微信支付

微信商户号主体下面的微信公众号

先看一下效果图

只需要完成后面几步就可以了。

在微信公众号服务器上面调用红包代码

/*
**微信红包功能
*/
public function sendredpack(){
 $re_openid = $this->_pg('re_openid');
  $inputObj = new sendredpack_pub();
if(!$re_openid){
  return "微信红包功能,收红包用户不能为空";
}
  $inputObj->setParameter('re_openid',$re_openid); //收红包的用户的openid
  $inputObj->setParameter('send_name',"汽配一号铺"); //红包发送者名称
  $inputObj->setParameter('total_amount',"100"); //收红包的用户的金额,精确到分
  $inputObj->setParameter('total_num',"1"); //收红包的个数
  $inputObj->setParameter('wishing',"恭喜发财,谢谢支持,小小心意"); //收红包的用户的openid
  $inputObj->setParameter('client_ip',"121.40.157.243"); //调用接口的IP
  $inputObj->setParameter('act_name',"小邓感恩红包"); //红包主题
  $inputObj->setParameter('remark',"谢谢大家一路一来的支持"); //备注
  $response = $inputObj->getResult();
  return $response;
}

在微信支付辅助工具层加一个类,来完成红包功能

/**
* 微信发红包接口
**/
class sendredpack_pub extends Wxpay_client_pub
{
   function __construct() {
  //设置接口链接
   $this->url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
  //设置curl超时时间
  $this->curl_timeout = WxPayConf_pub::CURL_TIMEOUT;
}
/**
* 生成接口参数xml
*/
function createXml()
{
  try
 {
  $this->parameters["mch_billno"] = WxPayConf_pub::MCHID.createUnique();//商户订单号
  $this->parameters["wxappid"] = WxPayConf_pub::APPID;//公众账号ID
  $this->parameters["mch_id"] = WxPayConf_pub::MCHID;//商户号
  $this->parameters["nonce_str"] = $this->createNoncestr();//随机字符串
  $this->parameters["sign"] = $this->getSign($this->parameters);//签名
  return $this->arrayToXml($this->parameters);
 }catch (SDKRuntimeException $e) {
   die($e->errorMessage());
 }
}
/**
* 作用:获取结果,使用证书通信
*/
function getResult()
{
  $this->postXmlSSL();
  $this->result = $this->xmlToArray($this->response);
  return $this->result;
}
}

然后部署返微信支付的服务上面,就可以了!!然后在做微信公众号(这个公众号)的服务上面加入“红包”。就能达到上面的效果了

根据文档进行开发

请您仔细阅读接口文档,参照文档进行开发,请注意,为了保证商户资金安全,接口强校验商户号与appid之间的绑定关系,以及appid与openid之间的对应关系(如果商户号与appid之间没有绑定关系,即appid没有申请微信支付或者申请微信支付商户号不匹配,或者openid归属appid错误,接口会返回报错)。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP微信开发技巧汇总》、《PHP编码与转码操作技巧汇总》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • PHP编程之微信公众平台企业号验证接口示例【回调操作】

    本文实例讲述了PHP微信公众平台企业号验证接口.分享给大家供大家参考,具体如下: 微信公众平台企业号验证接口.回调 PHP版,本人为了解决这个企业号的验证和发送消息的问题,整整研究了几天时间,因为微信企业号刚推出来的时候网上资料比较少!后来在一些朋友的帮助下和本人反复调试完善下,终于整理得到了比较理想的文档,经亲测,实验成功. include_once "WXBizMsgCrypt.php"; // 第三方发送消息给公众平台 $encodingAesKey = "rpJmhC

  • php微信开发之自定义菜单实现

    编辑模式和开发模式是有冲突的.所以我们启用微信公众号的开发模式之后,那些菜单是看不到的哦.不过现在个人订阅号是不可以使用高级开发者模式的,如自定义菜单,不过我们还是可以通过测试号来测试一下,然后移代码到服务号. 自定义类型包括如下: 1.click:点击推事件 • 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event的结构给开发者(参考消息接口指南),并且带上按钮中开发者填写的key值,开发者可以通过自定义的key值与用户进行交互: 2.view:跳转URL • 用户点

  • php实现微信公众平台账号自定义菜单类

    微信公众平台服务号可申请自定义菜单了,其它的号暂时不支持自定义菜单了,这个不但可以使用api来操作,还可以直接在后台定义菜单与参数哦. 服务号可以申请自定义菜单:使用QQ登录的公众号,可以升级为邮箱登录:使用邮箱登录的公众号,可以修改登录邮箱:群发消息可以同步到腾讯微博.微信公众平台升级:服务号可申请自定义菜单 wx_menu.php <?php //define your token define("TOKEN", "chenxiang");//改成自己的T

  • Thinkphp微信公众号支付接口

    本文实例为大家分享了Thinkphp微信公众号支付接口,供大家参考,具体内容如下 第一步  先把文件夹的那两个图片 配置成一样的路径 除了域名要改 其他保持一致. 第二步  把 Weixinpay 这个文件夹放在 \ThinkPHP\Library\Vendor  将Weixinpay文件夹放置到这个Vendor文件夹中 第三步  把  WxJsAPIController.class.php 这个php文件  \Home\Controller  这里面 第四步  把 WxJsAPI这个文件夹 

  • php微信开发自定义菜单

    目前微信服务号自定义菜单最多包括3个一级菜单,每个一级菜单最多包含5个二级菜单.一级菜单最多4个汉字,二级菜单最多7个汉字,多出来的部分将会以"..."代替.请注意,创建自定义菜单后,由于微信客户端缓存,需要24小时微信客户端才会展现出来.建议测试时可以尝试取消关注公众账号后再次关注,则可以看到创建后的效果. 目前自定义菜单接口可实现两种类型按钮,如下:  click: 用户点击click类型按钮后,微信服务器会通过消息接口推送消息类型为event 的结构给开发者(参考消息接口指南),

  • php实现微信企业号支付个人的方法详解

    本文实例讲述了php实现微信企业号支付个人的方法.分享给大家供大家参考,具体如下: 导语:分销商,微商提现怎么提? 直接用微信支付. 实现如下: 微信支付配置 /*微信支付*/ 'PAY_WEIXIN' => array( 'appid' => 'XXXX', 'appsecret' => 'XXXXXXX', 'mchid' => '1283301801', //商户号 'key' => 'zhudianbaodiandodozhudianbao0527', //商户支付秘

  • php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)

    怎么调用微信高级接口 微信高级接口和微信普通接口的区别 后台服务器可以调用微信的接口与微信用户进行讯息的通信,这样的行为就是在调用微信的接口,这些接口是基础接口,你不需要任何付费行为或者身份认证行为就可以调用.但是有一些高级接口,你的微信公众号必须达到一定的权限如通过微信认证才能调用自定义菜单.微信支付等高级功能. 不过微信公众帐号的测试号系统可以应用这些高级接口(微信支付等涉及交易的接口除外). 微信高级接口的调用 微信高级接口的调用需要先调用一个token_access接口,只有先调用这个接

  • php微信开发之自定义菜单完整流程

    一.自定义菜单概述 自定义菜单能够帮助公众号丰富界面,让用户更好更快地理解公众号的功能.开启自定义菜单后,公众号界面如图所示: 二.申请自定义菜单 个人订阅号使用微博认证.企业订阅号通过微信认证:可以申请到自定义菜单资格 服务号默认有菜单权限. 三.获得AppId 和AppSecert AppId和AppSecret在开发者中心-开发者ID中,可以找到. 四.获得Access Token 用appid和appsecert获得access token,接口为 https://api.weixin.

  • PHP实现微信公众号企业号自定义菜单接口示例

    本文实例讲述了PHP实现微信公众号企业号自定义菜单接口.分享给大家供大家参考,具体如下: define(AppId, "wx666cae44xxxxxx2");//定义AppId,需要在微信公众平台申请自定义菜单后会得到 define(AppSecret, "d77026a714d443a01d0229xxxxxxxx");//定义AppSecret,需要在微信公众平台申请自定义菜单后会得到 include("menu.php");//引入微信类

  • php版微信公众号接口实现发红包的方法

    本文实例讲述了php版微信公众号接口实现发红包的方法.分享给大家供大家参考,具体如下: 最近接到一个任务,需要用微信来给用户自动发红包.要完成这个任务需要这么已经一些物料 微信商户号,已申请微信支付 微信商户号主体下面的微信公众号 先看一下效果图 只需要完成后面几步就可以了. 在微信公众号服务器上面调用红包代码 /* **微信红包功能 */ public function sendredpack(){ $re_openid = $this->_pg('re_openid'); $inputObj

  • php版微信公众平台接口开发之智能回复开发教程

    本文实例讲述了php版微信公众平台接口开发之智能回复功能实现方法.分享给大家供大家参考,具体如下: 智能回复是根据用户输入的条件来反馈结果用用户了,这个小编以前有做过信整理了一些例子供各位参考,比较完整主要是介绍在开发端了. 微信自推出后,着实火了一把,而支付功能的推出,又把微信推到了一个无可比拟的高度,然后申请微信订阅号或者服务号的人也开始比肩接踵.下面我将给大家简单讲解下微信公众平台开发接口. 先去 微信公众平台 申请账号,然后按照提示一步步.在选择订阅号和服务号上,个人只能申请订阅号,而且

  • php版微信公众平台接口参数调试实现判断用户行为的方法

    本文实例讲述了php版微信公众平台接口参数调试实现判断用户行为的方法.分享给大家供大家参考,具体如下: 微信开发的时候,发现有个重要的变量$postObj,获得了一个xml结构装入的对象里因为用户发来的事件,之前只知道用户发送一个消息,我进行处理. 今天要弄个用户订阅就给推送一个消息的功能,却发现不知道如何判断用户是订阅的操作,还是取消订阅,还是发消息,代码如下: public function responseMsg() { global $db; //get post data, May b

  • php版微信公众号自定义分享内容实现方法

    本文实例讲述了php版微信公众号自定义分享内容实现方法.分享给大家供大家参考,具体如下: 微信公众号号在手机中通过api接口可以实现自定义分享内容了,下面我们来看这个接口的实现步骤. 一.准备阶段 公众号一个,微网站一个. 二.绑定域名 先登录微信公众平台进入"公众号设置"的"功能设置"里填写"JS接口安全域名". 备注:登录后可在"开发者中心"查看对应的接口权限. 三.代码 <?php //curl获取请求文本内容 f

  • Java版微信公众号支付开发全过程

    一.微信官方文档微信支付开发流程(公众号支付) 首先我们到微信支付的官方文档的开发步骤部分查看一下需要的设置. [图片上传失败...(image-5eb825-1531014079742)] 因为微信支付需要较高的权限,只有认证了得服务号才有使用微信支付接口的权限,我们个人很难申请到,所以需要向其他朋友借用账号. 来到文档的业务流程部分,查看微信支付的流程(我觉得这个还是需要十分仔细的了解和查看的,这有助于你理解微信开发的流程). 然后,访问微信支付接口是要传递的参数很多,见统一下单 [图片上传

  • C#开发微信公众号接口开发

    具体实现方式不多说了,请看下文 一.前言 当下微信公众号几乎已经是每个公司必备的,但是大部分微信公众账号用户体验都欠佳,特别是涉及到用户绑定等,需要用户进行复杂的操作才可以和网站绑定,或者很多公司直接不绑定,而是每次都让用户填写账号密码.作为微信接口开发人员我们知道网页授权可以用作微信网页用作安全登录,带参数二维码的使用用作记录用户来源,模板消息用作购物消费等消息的通知,但是很少看到有综合利用这些高级接口做出体验比较好的公众账号,这里分享一些我开发的用户绑定和验证码的一些心得.所需要的接口有基础

  • 配置node服务器并且链接微信公众号接口配置步骤详解

    配置node服务器 在购买好服务器后,用Xshell链接到服务器. 1.安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash 或者 wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash 安装完,关闭重新启动一下Xshell. 2.用nvm安装node // 查看当前可安装n

  • 记录Yii2框架开发微信公众号遇到的问题及解决方法

    微信公众号开发,提示"该公众号暂时无法提供服务,请稍后再试",如何解决? 以前使用Yii框架的时候,并没有像Yii2,以前的Yii框架似乎用起来在安全方面不如Yii2,后面在用Yii2的时候发现了一个有趣的事情. 以前在用Yii框架做微信方面的开发的时候,开发模式需要添加对应的接口. 这里一定要注意点的点是在做接口验证的时候是使用GET请求,这个毫无疑问没有任何问题,但是在验证完之后,进行接口上面的交互的时候就有问题了,使用的POST的请求. 如果是以前的Yii的话,如果没有做严格的p

  • 如何进行微信公众号开发的本地调试的方法

    微信团队为广大的开发者提供了一个测试账号.该帐号无需公众账号,快速申请接口测试,直接体验和测试公众平台所有高级接口.这么好用的功能,只需要要你有一个手机,手机上安装了一个微信即可. 地址:https://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 登录后,会得到一个微信号,和测试好的相关信息.appID,appsecret. 接口配置信息,js接口安全域名配置按照生产环境的配置即可. 下面重点开始了.已经有了一个可供测试的公众号,

  • Yii实现微信公众号场景二维码的方法实例

    前言 在Yii中实现场景二维码这里我使用的是easywechat插件,安装easywechat插件 composer require jianyan74/yii2-easy-wechat github地址: https://github.com/jianyan74/yii2-easy-wechat easywechat文档地址: https://www.easywechat.com/docs/master/overview 生成场景二维码前提: 微信的场景二维码功能主要是生成一个微信二维码,然后

随机推荐