PHP编程实现微信企业向用户付款的方法示例


Posted in PHP onJuly 26, 2017

本文实例讲述了PHP编程实现微信企业向用户付款的方法。分享给大家供大家参考,具体如下:

<?php
header('content-type:text/html;charset=utf-8');
$data['mch_appid']='##################';//商户的应用appid
$data['mchid']='################';//商户ID
$data['nonce_str']='123456';//unicode();//这个据说是唯一的字符串下面有方法
$data['partner_trade_no']='LB123456';//.time();//这个是订单号。
$data['openid']='123';//这个是授权用户的openid。。这个必须得是用户授权才能用
$data['check_name']='NO_CHECK';//这个是设置是否检测用户真实姓名的
$data['re_user_name']='######';//用户的真实名字
$data['amount']='1';//提现金额
$data['desc']='服务费';//订单描述
$data['spbill_create_ip']=$_SERVER['SERVER_ADDR'];//这个最烦了,,还得获取服务器的ip
$secrect_key='#################################';///这个就是个API密码。32位的。。随便MD5一下就可以了
$data=array_filter($data);
ksort($data);
$str='';
foreach($data as $k=>$v) {
  $str.=$k.'='.$v.'&';
}
$str.='key='.$secrect_key;
$data['sign']=md5($str);
$xml=arraytoxml($data);
// echo $xml;
$url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';
$res=curl($xml,$url);
$return=xmltoarray($res);
print_r($return);
// echo getcwd().'/cert/apiclient_cert.pem';die;
function unicode() {
  $str = uniqid(mt_rand(),1);
  $str=sha1($str);
  return md5($str);
}
function arraytoxml($data){
  $str='<xml>';
  foreach($data as $k=>$v) {
    $str.='<'.$k.'>'.$v.'</'.$k.'>';
  }
  $str.='</xml>';
  return $str;
}
function xmltoarray($xml) {
   //禁止引用外部xml实体
  libxml_disable_entity_loader(true);
  $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
  $val = json_decode(json_encode($xmlstring),true);
  return $val;
}
function curl($param="",$url) {
  $postUrl = $url;
  $curlPost = $param;
  $ch = curl_init();                   //初始化curl
  curl_setopt($ch, CURLOPT_URL,$postUrl);         //抓取指定网页
  curl_setopt($ch, CURLOPT_HEADER, 0);          //设置header
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      //要求结果为字符串且输出到屏幕上
  curl_setopt($ch, CURLOPT_POST, 1);           //post提交方式
  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);      // 增加 HTTP Header(头)里的字段
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // 终止从服务端进行验证
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'/cert/apiclient_cert.pem'); //这个是证书的位置
  curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'/cert/apiclient_key.pem'); //这个也是证书的位置
  $data = curl_exec($ch);                 //运行curl
  curl_close($ch);
  return $data;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP出错界面
Oct 09 PHP
php中文本数据翻页(留言本翻页)
Oct 09 PHP
供参考的 php 学习提高路线分享
Oct 23 PHP
PHP判断文章里是否有图片的简单方法
Jul 26 PHP
ThinkPHP查询返回简单字段数组的方法
Aug 25 PHP
php动态添加url查询参数的方法
Apr 14 PHP
解读PHP中的垃圾回收机制
Aug 10 PHP
PHP可变函数学习小结
Nov 29 PHP
PHP面向对象程序设计OOP继承用法入门示例
Dec 27 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
解决Laravel使用验证时跳转到首页的问题
Nov 17 PHP
浅谈Yii乐观锁的使用及原理
Jul 25 #PHP
PHP异常处理定义与使用方法分析
Jul 25 #PHP
PHP实现防盗链的方法分析
Jul 25 #PHP
浅谈PHP发送HTTP请求的几种方式
Jul 25 #PHP
php 删除指定文件夹的实例讲解
Jul 25 #PHP
Laravel5.* 打印出执行的sql语句的方法
Jul 24 #PHP
PHP实现时间比较和时间差计算的方法示例
Jul 24 #PHP
You might like
PHP中函数rand和mt_rand的区别比较
2012/12/26 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(八)
2014/06/23 PHP
Win7 64位系统下PHP连接Oracle数据库
2014/08/20 PHP
PHP防盗链的基本思想 防盗链的设置方法
2015/09/25 PHP
joomla数据库操作示例代码
2016/01/06 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
javascript Excel操作知识点
2009/04/24 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
教你用jquery实现iframe自适应高度
2014/06/11 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
JS 数字转换为大写金额的简单实例
2016/08/04 Javascript
node.js基于mongodb的搜索分页示例
2017/01/22 Javascript
springMVC + easyui + $.ajaxFileUpload实现文件上传注意事项
2017/04/23 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
完美解决手机网页中输入框被输入法遮挡的问题
2017/12/19 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
Node.js+Vue脚手架环境搭建的方法步骤
2020/03/08 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
python使用循环实现批量创建文件夹示例
2014/03/25 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
Python实现的序列化和反序列化二叉树算法示例
2019/03/02 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Python读取YAML文件过程详解
2019/12/30 Python
Python sep参数使用方法详解
2020/02/12 Python
Django ORM filter() 的运用详解
2020/05/14 Python
CSS3中利用animation属性创建雪花飘落特效
2014/05/14 HTML / CSS
英国儿童图书网站:Scholastic
2017/03/26 全球购物
英国123鲜花网站:123 Flowers
2019/07/07 全球购物
给全校老师的建议书
2014/03/13 职场文书
代办委托书怎样写
2014/04/08 职场文书
家长学校工作方案
2014/05/07 职场文书
关于环保的宣传稿
2015/07/23 职场文书
Python制作春联的示例代码
2022/01/22 Python
Win11黑色桌面背景怎么办?Win11黑色壁纸解决方法汇总
2022/04/05 数码科技