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 相关文章推荐
怎么样可以把 phpinfo()屏蔽掉?
Nov 24 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 PHP
php HtmlReplace输入过滤安全函数
Jul 03 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
Oct 15 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
Nov 05 PHP
php中magic_quotes_gpc对unserialize的影响分析
Dec 16 PHP
PHP从二维数组得到N层分类树的实现代码
Oct 11 PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
thinkPHP3.2.2框架行为扩展及demo示例
Jun 19 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
PHP聊天室简单实现方法详解
Dec 08 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中的状态模式编程
2015/08/11 PHP
CakePHP框架Session设置方法分析
2017/02/23 PHP
PHP实现普通hash分布式算法简单示例
2018/08/06 PHP
PHP中ltrim()函数的用法与实例讲解
2019/03/28 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
javascript顺序加载图片的方法
2015/07/18 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
javascript 定时器工作原理分析
2016/12/03 Javascript
手机移动端实现 jquery和HTML5 Canvas的幸运大奖盘特效
2016/12/06 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
详解如何使用nvm管理Node.js多版本
2019/05/06 Javascript
解决vue初始化项目时,一直卡在Project description上的问题
2019/10/31 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
详解微信小程序工程化探索之webpack实战
2020/04/20 Javascript
盘点提高 Python 代码效率的方法
2014/07/03 Python
python生成验证码图片代码分享
2016/01/28 Python
Python使用lxml模块和Requests模块抓取HTML页面的教程
2016/05/16 Python
浅谈python中的变量默认是什么类型
2016/09/11 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
详解利用Python scipy.signal.filtfilt() 实现信号滤波
2019/06/05 Python
Django项目主urls导入应用中views的红线问题解决
2019/08/10 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
基于 HTML5 Canvas实现 的交互式地铁线路图
2018/03/05 HTML / CSS
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
英国最大的割草机购买网站:Just Lawnmowers
2019/11/02 全球购物
大学共青团员个人自我评价
2014/04/16 职场文书
长城导游词300字
2015/01/30 职场文书
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis