一、微信红包文档说明目前微信红包总共分现金红包和裂变红包两种。
1、现金红包:https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=13_5
2、裂变红包:https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php?chapter=16_5
更多请查看:https://pay.weixin.qq.com/wiki/doc/api/cash_coupon.php
二、php接口实现
本文讲解现金红包的调用,其他的大体一样,就不去尝试了。
参数说明:
代码实现:
片段一、
- /**
- * 微信支付
- * @param string $openid 用户openid
- */
- publicfunction pay($re_openid)
- {
- include_once('WxPacketClass.php');
- $wxHongBaoHelper =newWxPacketClass($this->app_sign);
- $wxHongBaoHelper->setParameter("nonce_str", $this->great_rand());//随机字符串,丌长于 32 位
- $wxHongBaoHelper->setParameter("mch_billno", $this->app_mchid.date('YmdHis').rand(1000,9999));//订单号(28位)
- $wxHongBaoHelper->setParameter("mch_id", $this->app_mchid);//商户号
- $wxHongBaoHelper->setParameter("wxappid", $this->app_id);
- $wxHongBaoHelper->setParameter("send_name",'扬和宏科技');//红包发送者名称
- $wxHongBaoHelper->setParameter("re_openid", $re_openid);//openid
- $wxHongBaoHelper->setParameter("total_amount",100);//付款金额,单位分
- $wxHongBaoHelper->setParameter("total_num",1);//红包収放总人数
- $wxHongBaoHelper->setParameter("wishing",'给您拜个晚年,祝您晚年幸福!');//红包祝福诧
- $wxHongBaoHelper->setParameter("client_ip",'127.0.0.1');//调用接口的机器 Ip 地址
- $wxHongBaoHelper->setParameter("act_name",'拜年红包活动');//活劢名称
- $wxHongBaoHelper->setParameter("remark",'大家快来抢!');//备注信息
- $postXml = $wxHongBaoHelper->create_hongbao_xml();
- $url ='https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack';
- $responseXml = $wxHongBaoHelper->curl_post_ssl($url, $postXml);
- $responseObj = simplexml_load_string($responseXml,'SimpleXMLElement', LIBXML_NOCDATA);
- return $responseObj->return_code;
- }
片段二、
- //生成红包接口XML信息
- /*
- <xml>
- <sign>![CDATA[E1EE61A9]]</sign>
- <mch_billno>![CDATA[00100]]</mch_billno>
- <mch_id>![CDATA[888]]</mch_id>
- <wxappid>![CDATA[wxcbda96de0b165486]]</wxappid>
- <send_name>![CDATA[send_name]]</send_name>
- <re_openid>![CDATA[onqOjjXXXXXXXXX]]</re_openid>
- <total_amount>![CDATA[100]]</total_amount>
- <total_num>![CDATA[1]]</total_num>
- <wishing>![CDATA[恭喜发财]]</wishing>
- <client_ip>![CDATA[127.0.0.1]]</client_ip>
- <act_name>![CDATA[新年红包]]</act_name>
- <act_id>![CDATA[act_id]]</act_id>
- <remark>![CDATA[新年红包]]</remark>
- </xml>
- */
- function create_hongbao_xml($retcode =0, $reterrmsg ="ok"){
- try{
- $this->setParameter('sign', $this->get_sign());
- $commonUtil =newCommonUtil();
- return $commonUtil->arrayToXml($this->parameters);
- }catch(SDKException $e){
- die($e->errorMessage());
- }
- }
片段三、
- function curl_post_ssl($url, $vars, $second=30,$aHeader=array()){
- $ch = curl_init();
- //超时时间
- curl_setopt($ch,CURLOPT_TIMEOUT,$second);
- curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
- //这里设置代理,如果有的话
- curl_setopt($ch,CURLOPT_URL,$url);
- curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,false);
- curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,false);
- //cert 与 key 分别属于两个.pem文件
- curl_setopt($ch,CURLOPT_SSLCERT,dirname(__FILE__).DIRECTORY_SEPARATOR.'cert'.DIRECTORY_SEPARATOR.'apiclient_cert.pem');
- curl_setopt($ch,CURLOPT_SSLKEY,dirname(__FILE__).DIRECTORY_SEPARATOR.'cert'.DIRECTORY_SEPARATOR.'apiclient_key.pem');
- curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).DIRECTORY_SEPARATOR.'cert'.DIRECTORY_SEPARATOR.'rootca.pem');
- if( count($aHeader)>=1) curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);
- curl_setopt($ch,CURLOPT_POST,1);
- curl_setopt($ch,CURLOPT_POSTFIELDS,$vars);
- $data = curl_exec($ch);
- if($data){
- curl_close($ch);
- return $data;
- }else{
- $error = curl_errno($ch);
- curl_close($ch);
- returnfalse;
- }
- }
代码结构:
|~action/
| `-PacketClass.php
|~lib/
| |~cert/
| | |-apiclient_cert.pem
| | |-apiclient_key.pem
| | `-rootca.pem
| |-SdkExtraClass.php
| |-WxApi.php
| `-WxPacketClass.php
`-index.php
每个文件都有详细的说明。
三、效果展示
有需要源码的可以联系我(www.webyang.net给我留言即可)~
相关推荐
根据微信高级红包接口文档,开发PHP版本的API接口。 代码分析请查看:http://www.jyboke.com/web/55.html
主要介绍了PHP微信红包API接口,针对PHP微信公众号自动发送红包API,PHP微信红包API接口的主要代码进行分析,感兴趣的小伙伴们可以参考一下
微信红包API接口(PHP) 微信红包开发源代码,附自定义菜单。
微信高级接口 企业红包的 JAVA 实现 springMVC+Spring+Mybatis
微信红包接口示例,直接按照说明修改就可以了 加好友,求勾搭 要分只是对自己研究成果的认可
根据微信高级红包接口,开发PHP版本的API接口,现在进行主要代码分析。 红包接口调用请求代码,所有请求参数为必填参数与文档对应: class Wxapi { private $app_id = 'wxXXXXXXXXXXXX'; //公众账号appid,首先...
基于此,我们根据微信官网提供的开放API,独立开发了微信支付的各种支付接口,包括:微信扫码支付、微信公众号支付、微信红包支付、微信刷卡支付等一系列接口,供所有ASP代码的网站使用。 ASP扫码支付是用的最...
内容有:微信摇一摇接口/微信多客服接口/微信支付接口/微信红包接口/微信卡券接口/微信小店接口/JSAPI <?php class WxApi { const appId = ""; const appSecret = ""; const mchid = ""; //商户号 const ...
基于此,我们根据微信提供的开放SDK,独立开发了微信支付的各种支付接口,包括:微信扫码支付、H5支付、微信公众号支付、微信红包支付、微信刷卡支付等一系列接口,供所有ASP代码的网站使用。 ASP扫码支付是用的...
整理了一套微信接口API供大家学习参考,包含微信常用接口调用,开发平台全网审核;
先前做的微信支付的demo,冗余代码太多,且无通知验签部分,最近做个一个API,封装了微信公众号支付,扫码支付,微信红包,微信验签4个接口,几行代码可以搞定微信支付相关的接口,非常方便,特分享
微信支付 API 接口协议,后台与微信支付的对接文档,微信支付API
本文给大家介绍的是个人总结的一些微信API接口,包括微信支付、微信红包、微信卡券、微信小店等,十分的全面,有需要的小伙伴可以参考下。
主要介绍了PHP版微信公众平台微信API类,目前主要实现了微信红包接口,陆续会继续进行更新,非常的实用,这里推荐给小伙伴们,有需要的朋友可以参考下。
微信接口开发,之前上传了一个发红包的,下载量挺大的,所以今天继续上传一个,关于用户组操作的,包括:1,查询所以分组 2,创建分组 3,查询用户所在组 4,修改分组名 5,移动用户到组 6,删除分组 前提数据库配了...