微信公众平台给用户发红包+php
直接上代码:
代码
<?php
/**
* 微信红包的类
* @Author snmoney#gmail.com
* @copyright 2015
* @version 2.0
* *微信红包还有部分可选的参数,如分享预设值等将在后续版本补充上相关功能。
* 对应官方接口更新,追加了分裂红包的玩法,详情参考官方文档。
*/
CLASS WXHongBao {
private $mch_id = "********"; //商户ID写死
private $wxappid = "********"; //微信公众号,写死
private $client_ip = ""; //"127.0.0.1"; //调用红包接口的主机的IP,服务端IP,写死,即脚本文件所在的IP
private $apikey = ""; //pay的秘钥值
private $total_num = 1; //发放人数。固定值1,不可修改
private $nick_name = "微信公众号红包"; //红包商户名称
private $send_name = "微信公众号红包"; //红包派发者名称
private $wishing = "欢迎再次参与"; //
private $act_name = ""; //活动名称
private $remark = "";
private $nonce_str = "";
private $mch_billno = "";
private $re_openid = ""; //接收方的openID
private $total_amount = 1 ; //红包金额,单位 分
private $min_value = 1; //最小金额
private $max_value = 1; //根据接口要求,上述3值必须一致
private $sign = ""; //签名在send时生成
private $amt_type; //分裂红包参数,在sendgroup中进行定义,是常量 ALL_RAND
//证书,在构造函数中定义,注意!
private $apiclient_cert; //= getcwd()."/apiclient_cert.pem";
private $apiclient_key;// = getcwd()."/apiclient_key.pem";
private $apiclient_ca;// = getcwd()."/apiclient_key.pem";
//分享参数
private $isShare = false; //有用?似乎是无用参数,全部都不是必选和互相依赖的参数
private $share_content = "";
private $share_url ="";
private $share_imgurl = "";
private $wxhb_inited;
private $api_hb_group = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendgroupredpack";//裂变红包
private $api_hb_single = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack";
private $error = "ok"; //init
/**
* WXHongBao::__construct()
* 步骤
* new(openid,amount)
* setnickname
* setsend_name
* setwishing
* setact_name
* setremark
* send()
* @return void
*/
function __construct(){
//好像没有什么需要构造函数做的 引入需要的文件
$this->wxhb_inited = false;
$this->apiclient_cert = getcwd() . "/zzz1/apiclient_cert.pem";
$this->apiclient_key = getcwd() . "/zzz1/apiclient_key.pem";
$this->apiclient_ca = getcwd() .