如何实现PHP微信红包API接口的方法

  介绍

这篇文章将为大家详细讲解有关如何实现PHP微信红包API接口的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

首先给大家看一看这个表格:

如何实现PHP微信红包API接口的方法

相关学习推荐:PHP编程(视频)

根据微信高级红包接口,开发PHP版本的API接口,现在进行主要代码分析。

红包接口调用请求代码,所有请求参数为必填参数与文档对应:

类Wxapi {
  私人$ app_id=& # 39; wxXXXXXXXXXXXX& # 39;;//公众账号appid,首先申请与之配套的公众账号
  私人$ app_secret=& # 39; XXXXXXXXXXXXXXXXXXXXXXXX& # 39;;//公众号秘密,用户获取用户授权令牌
  私人$ app_mchid=& # 39; XXXXXXXX& # 39;;//商户号id
  函数__construct () {//在这里做某事....
  }/* *
  *微信支付
  * @param字符串$ openid用户openid
  */公共函数(re_openid美元)支付
  {
  include_once (& # 39; WxHongBaoHelper.php& # 39;);
  美元commonUtil=new commonUtil ();
  美元wxHongBaoHelper=new wxHongBaoHelper ();
  美元wxHongBaoHelper→setParameter (“nonce_str",这→美元great_rand());//随机字符串,丌长于32位
  美元wxHongBaoHelper→setParameter (“mch_billno",这→美元app_mchid.date (& # 39; YmdHis& # 39;)。兰特(1000、9999));//订单号
  美元wxHongBaoHelper→setParameter (“mch_id",这→美元app_mchid);//商户号
  美元wxHongBaoHelper→setParameter (“wxappid",这→美元app_id);
  美元wxHongBaoHelper→setParameter (“nick_name" & # 39;红包& # 39;);//提供方名称
  美元wxHongBaoHelper→setParameter (“send_name" & # 39;红包& # 39;);//红包发送者名称
  美元wxHongBaoHelper→setParameter (“re_openid", re_openid美元);//相对于医脉互通的openid
  美元wxHongBaoHelper→setParameter (“total_amount", 100);//付款金额,单位分
  美元wxHongBaoHelper→setParameter (“min_value", 100);//最小红包金额,单位分
  美元wxHongBaoHelper→setParameter (“max_value", 100);//最大红包金额,单位分
  美元wxHongBaoHelper→setParameter (“total_num" 1);//红包収放总人数
  美元wxHongBaoHelper→setParameter (“wishing" & # 39;感谢您参与红包派发活动,祝您新年快乐! & # 39;);//红包祝福诧
  美元wxHongBaoHelper→setParameter (“client_ip" & # 39; 127.0.0.1 # 39;);//调用接口的机器Ip地址
  美元wxHongBaoHelper→setParameter (“act_name" & # 39;红包活动& # 39;);//活劢名称
  美元wxHongBaoHelper→setParameter (“remark" & # 39;快来抢! & # 39;);//备注信息
  postXml=wxHongBaoHelper→美元create_hongbao_xml ();
  $ url=& # 39; https://api.mch.weixin.qq.com/mmpaymkttransfers/sendredpack& # 39;;
  responseXml=wxHongBaoHelper→美元curl_post_ssl (url, postXml美元);//用作结果调试输出//echo htmlentities ($ responseXml ENT_COMPAT & # 39; utf - 8 # 39;);
  $ responseObj=simplexml_load_string (responseXml美元,& # 39;simplexmlelement # 39;, LIBXML_NOCDATA);
  返回$ responseObj→return_code;
  }

<强>获取随机字符串方法:

/* *   *生成随机数   */公共函数great_rand () {   $ str=& # 39; 1234567890 abcdefghijklmnopqrstuvwxyz& # 39;;   (我=0;i<美元;30美元我+ +){   $ j=兰德(0,35);   t1。=str美元美元[j];   }   返回$ t1;   }

<>强签名算法:

/* *   例如:   appid: wxd111665abv58f4f   mch_id: 10000100   device_info: 1000   身体:测试   nonce_str: ibuaiVcKdpRxkhJA   第一步:对参数按照键=值的格式,并按照参数名ASCII字典序排序如下:   stringA=癮ppid=wxd930ea5d5a258f4f&身体=test& device_info=1000, mch_i   d=10000100, nonce_str=ibuaiVcKdpRxkhJA";   第二步:拼接支付密钥:   stringSignTemp=皊tringA&关键=192006250 b4c09247ec02edce69f6a2d"   符号=MD5 (stringSignTemp) .toUpperCase ()=? a0a8659f005d6984697e2ca0a   9 cf3b7"   */保护功能get_sign () {   定义(& # 39;PARTNERKEY& # 39;,“QSRXXXXXXXXXXXXXXXXXXXXX");   尝试{   如果(null==PARTNERKEY | |““==PARTNERKEY) {   把新的SDKRuntimeException(“密钥不能为空!“。“& lt; br>“);   }   if ($ this→check_sign_parameters ()==false){//检查生成签名参数   把新的SDKRuntimeException(“生成签名参数缺失!“。“& lt; br>“);   }   美元commonUtil=new commonUtil ();   ksort ($ this→参数);   unSignParaString=commonUtil→美元formatQueryParaMap ($ this→参数错误);   美元md5SignUtil=new md5SignUtil ();   返回md5SignUtil→美元符号($ unSignParaString, commonUtil→美元trimString (PARTNERKEY));   }捕捉(SDKRuntimeException $ e)   {   死($ e→errorMessage ());   }      }

如何实现PHP微信红包API接口的方法