• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

PHP开发微信现金红包功能代码分享

php 搞代码 3年前 (2022-01-22) 16次浏览 已收录 0个评论

本文主要和大家介绍了PHP开发的微信现金红包功能,结合实例形式较为详细的分析了php使用微信接口实现现金红包功能的相关步骤与操作技巧,需要的朋友可以参考下,希望能帮助到大家。

微信商家后台-现金红包开发

sdk

本文来源gaodai.ma#com搞##代!^码@网*
搞gaodaima代码

<?phpclass wxPay {  //配置参数信息  const SHANGHUHAO = "1430998xxx";//商户号  const PARTNERKEY = "leFyTOXWzUEXxfp47WOu5d9xxxxxx";  //api,商户后台  //核心支付函数,参数:请求地址和参数  function pay($url,$obj) {    $obj['nonce_str'] = $this->create_noncestr();  //创建随机字符串    $stringA = $this->create_qianming($obj,false);  //创建签名    $stringSignTemp = $stringA."&key=leFyTOXWzUEXxfp47WOu5xxxxxx";  //签名后加api    $sign = strtoupper(md5($stringSignTemp));  //签名加密并大写    $obj['sign'] = $sign;  //将签名传入数组    $postXml = $this->arrayToXml($obj);  //将参数转为xml格式    var_dump($postXml);    $responseXml = $this->curl_post_ssl($url,$postXml);  //提交请求    var_dump($responseXml);    return $responseXml;  }  //生成签名,参数:生成签名的参数和是否编码  function create_qianming($arr,$urlencode) {    $buff = "";    ksort($arr); //对传进来的数组参数里面的内容按照字母顺序排序,a在前面,z在最后(字典序)    foreach ($arr as $k=>$v) {      if(null!=$v && "null" != $v && "sign" != $k) {  //签名不要转码        if ($urlencode) {          $v = urlencode($v);        }        $buff.=$k."=".$v."&";      }    }    if (strlen($buff)>0) {      $reqPar = substr($buff,0,strlen($buff)-1); //去掉末尾符号“&”    }    return $reqPar;  }  //生成随机字符串,默认32位  function create_noncestr($length=32) {    //创建随机字符    $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";    $str = "";    for($i=0;$i<$length;$i++) {      $str.=substr($chars, mt_rand(0,strlen($chars)-1),1);    }    return $str;  }  //数组转xml  function arrayToXml($arr) {    $xml = "<xml>";    foreach ($arr as $key=>$val) {      if (is_numeric($val)) {        $xml.="<".$key.">".$val."</".$key.">";      } else {        $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";      }    }    $xml.="</xml>";    return $xml;  }  //post请求网站,需要证书  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文件    //请确保您的libcurl版本是否支持双向认证,版本高于7.20.1    curl_setopt($ch,CURLOPT_SSLCERT,dirname(__FILE__).DIRECTORY_SEPARATOR.        'zhengshu'.DIRECTORY_SEPARATOR.'apiclient_cert.pem');    curl_setopt($ch,CURLOPT_SSLKEY,dirname(__FILE__).DIRECTORY_SEPARATOR.        'zhengshu'.DIRECTORY_SEPARATOR.'apiclient_key.pem');    curl_setopt($ch,CURLOPT_CAINFO,dirname(__FILE__).DIRECTORY_SEPARATOR.        'zhengshu'.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);      echo "call faild, errorCode:$error\n";      curl_close($ch);      return false;    }  }}

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP开发微信现金红包功能代码分享
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址