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 _autoload自动加载类与机制分析
Feb 10 PHP
preg_match_all使用心得分享
Jan 31 PHP
php中利用explode函数分割字符串到数组
Feb 08 PHP
PHP按行读取、处理较大CSV文件的代码实例
Apr 09 PHP
destoon设置自定义搜索的方法
Jun 21 PHP
PHP生成器简单实例
May 13 PHP
PHP判断手机是IOS还是Android
Dec 09 PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
php ajax数据传输和响应方法
Aug 21 PHP
PHP简单验证码功能机制实例详解
Mar 27 PHP
PHP二维索引数组的遍历实例分析【2种方式】
Jun 24 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
thinkphp3.0输出重复两次的解决方法
2014/12/19 PHP
PHP结合jQuery.autocomplete插件实现输入自动完成提示的功能
2015/04/27 PHP
PHP开发Apache服务器配置
2015/07/15 PHP
PHP实现多图上传(结合uploadify插件)思路分析
2016/11/30 PHP
解决laravel groupBy 对查询结果进行分组出现的问题
2019/10/09 PHP
javascript 写类方式之一
2009/07/05 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
jquery图形密码实现方法
2015/03/11 Javascript
javascript实现表格增删改操作实例详解
2015/05/15 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
BootStrap和jQuery相结合实现可编辑表格
2016/04/21 Javascript
jquery插件方式实现table查询功能的简单实例
2016/06/06 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
js图片放大镜实例讲解(必看篇)
2017/07/17 Javascript
nodeJS进程管理器pm2的使用
2019/01/09 NodeJs
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
javascript实现简易数码时钟
2020/03/30 Javascript
js实现自定义右键菜单
2020/05/18 Javascript
vue watch监控对象的简单方法示例
2021/01/07 Vue.js
[00:20]DOTA2荣耀之路7:-ah fu-抢盾
2018/05/31 DOTA
python3.3教程之模拟百度登陆代码分享
2014/01/16 Python
Python实现处理管道的方法
2015/06/04 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
数学高效课堂实施方案
2014/03/29 职场文书
假面舞会策划方案
2014/05/29 职场文书
2015年党员发展工作总结
2015/05/13 职场文书
2016年教师师德师风心得体会
2016/01/12 职场文书
微信小程序中wxs文件的一些妙用分享
2022/02/18 Javascript
教你在 Java 中实现 Dijkstra 最短路算法的方法
2022/04/08 Java/Android
Oracle中日期的使用方法实例
2022/07/07 Oracle