php版的微信公众号接口发红包程序代码

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

  1. 微信商户号,已申请微信支付
  2. 微信商户号主体下面的微信公仔号

先看一下效果图

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

在微信支付的服务器上面部署红包代码

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

/*
**微信红包功能
*/
 
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错误,接口会返回报错)

时间: 2024-10-25 20:41:34

php版的微信公众号接口发红包程序代码的相关文章

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

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

微信公众平台-微信公众号接口如何回复多条消息,其中包含音乐消息且有标题描述,求大神指教!

问题描述 微信公众号接口如何回复多条消息,其中包含音乐消息且有标题描述,求大神指教! 很急很急,多谢!! 微信公众号接口如何回复多条消息,其中包含音乐消息且有标题描述,求大神指教! 解决方案 我想的办法是,一条消息用自动回复,另外的消息,用客服消息接口发送给用户. 解决方案二: 我也想知道怎么实现,同求.

微信公众号订单好评红包返现系统

一.简介 微信公众号订单好评红包返现系统可以用于给在淘宝.天猫.京东上购买产品的顾客发放红包返利,顾客关注公众账号之后,回复订单号,就可以获得微信红包. 该功能可以用于吸引 有购买力的 用户关注,极大的促进二次成交.   二.主要功能 1. 用户同步:同步公众号的所有用户,包含OpenID,昵称,性别,地区,头像,关注时间,互动时间. 2. 上传订单.订单支持微信小店,淘宝,天猫,京东.淘宝客.京东联盟订单. 3. 发送红包返利,有主动和被动方式发红包.       主动领红包:用户直接输入订单

微信公众号模板消息群发php代码示例

微信模板消息只能发给一个人,如果要群发,需要通过php循环,依次发送. 注意,如果模板消息发信息时有时无,不稳定,可能你的access_token令牌更新缓存不及时,过期了.可以根据日志文件查看.建议300秒更新一下.否则会很烦. 模板id需要自己去公众号中设置行业后得到. <?php //使用方法.直接在页面的逻辑中增加fahuo_wechat();即可.函数要事先引用. function fahuo_wechat($shopid){ if(_cfg("sendmobile")

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

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

微信公众号怎么红包?微信公众号发现金红包方法

微信公众号怎么发现金红包 1.商户调用接口时,通过指定发送对象以及发送金额的方式发放红包,这样的方式,允许商户灵活的应用于各种各样丰富的活动场景. 2.领取到红包后,用户的资金直接进入微信零钱,避免繁复的领奖流程,带给用户微信支付原生的流畅体验.

WPF框架实现微信公众号多客服实例教程(多图)

利用WPF框架作为前端技术,实现桌面版微信多客服系统.项目采用Prism作为前端框架,采用MVVM模式极好的对UI和逻辑代码分离,使用MefBootstrapper集成的MEF IOC容器,解耦各模块对象.合理利用 IEventAggregator 实现事件和交互.文章在介绍对应功能时候会给出相关实现的参考,读者可以参考改进,引入到自己的项目中. 程序运行界面及功能预览: 一.登陆: 功能:支持记住用户和用户设置,可选择记住用户密码. 实现相关: 自定义登陆窗口,引入Microsoft.Wind

微信公众号如何访问校园网(内网)

问题描述 恩,最近在做有关学生教务系统的任务,提供学生查询成绩.可是我们学校的教务系统只有校园网可以上,(一部分是校园网,一部分是电信)电信是无法直接访问的,在电脑上还可以通过设置VPN来连接上教务系统.只是想要在手机微信公众号上访问教务系统(简单来说就如何实现外网访问内网),就不知道要怎么做了....希望各位大神能提供下答案,或者给个思路,我现在毫无思路.要命啊!!谢谢! 解决方案 本帖最后由 u014799383 于 2015-04-18 00:41:47 编辑解决方案二:引用楼主u0147

java-微信公众号接口开发,关注后提示“该公众号暂时无法提供服务,请稍后再试。”原因?,如何处理?

问题描述 微信公众号接口开发,关注后提示"该公众号暂时无法提供服务,请稍后再试."原因?,如何处理? 我在弄微信公众号接口开发的自动回复时,在手机微信怎么老是"该公众号暂时无法提供服务,请稍后再试."?在接口测试的时候报错如下: 20.181.136.229 [13/Feb/2015:13:42:34 +0800] JAVA_Error: Error for /coreServlet java.lang.NoClassDefFoundError: Could not