本文主要和大家分享php实现微信红包代码,希望能帮助到大家。WxHb包自己去官网下载最新的,包括证书等等,设置好访问ip,还有最重要你已经申请成功红包功能,因为需要支付流水和九十天,微信限制的。
<?php namespace Index\Controller; use Think\Controller; use Index\Lib\Hb\WxHb; class HbController extends Controller { private $app_id = ""; //微信AppID private $app_secret = ""; //微信AppSecret private $app_mchid = ""; //商户号 private $api_key = ""; //商户支付密钥Key // // 微信发送红包 public function SendHb() { // include_once ('./WeixinRedPacket/WxHongBaoHelper.php'); // //测试的OpenID $re_openid = "oaWZ5s1kjrtJ7RdYcmALZg8QSwpk"; // //红包金额单位是分所以得乘以100 $price = $50 * 100; //组装数据 $wxHongBaoHelper = new WxHb(); $wxHongBaoHelper->setParameter ( "nonce_str", $this->great_rand () ); //随机字符串,丌长于 32 位 $wxHongBaoHelper->setParameter ( "mch_billno", $this->app_mchid . date ( 'YmdHis' ) . rand ( 1000, 9999 ) ); //订单号 $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", $price ); //付款金额,单位分 $wxHongBaoHelper->setParameter ( "total_num", 1 ); //红包収放总人数 $wxHongBaoHelper->setParameter ( "wishing", '猴年吉祥' ); //红包祝福语 $wxHongBaoHelper->setParameter ( "client_ip", '219.153.65.50' ); //调用接口的机器 Ip 地址 $wxHongBaoHelper->setParameter ( "act_name", '重报集团' ); //活劢名称 $wxHongBaoHelper->setParameter ( "remark", '新年快乐!' ); //备注信息 //生成xml并且生成签名 $postXml = $wxHongBaoHelper->create_hongbao_xml ( $this->api_key ); //var_dump ( $postXml ); //exit; //提交请求 $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack'; $responseXml = $wxHongBaoHelper->curl_post_ssl ( $url, $postXml ); $responseObj = simplexml_load_string ( $responseXml, 'SimpleXMLElement', LIBXML_NOCDATA ); //转换成数组 $responseArr = ( array ) $responseObj; $return_code = $responseArr ['return_code']; $result_code = $responseArr ['result_code']; //判断是否红包是否发送成功 if ($return_code == "SUCCESS" && $result_code == "SUCCESS") { dump ( $responseArr ); echo "SUCCESS"; } else { echo "发送失败"; dump ( $responseArr ); } } //获取随机数 private function great_rand() { $str = '1234567890abcdefghijklmnopqrstuvwxyz'; for($i = 0; $i < 30; $i ++) { $j = rand ( 0, 35 ); $t1 .= $str [$j]; } return $t1; } }
相关推荐:
The above is the detailed content of PHP implements WeChat red envelope code. For more information, please follow other related articles on the PHP Chinese website!