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桌面中心(一) 创建数据库
Mar 11 PHP
PHP对字符串的递增运算分析
Aug 08 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php短址转换实现方法
Feb 25 PHP
PHP获取文件相对路径的方法
Feb 26 PHP
php中将一个对象保存到Session中的方法
Mar 13 PHP
php中使用sftp教程
Mar 30 PHP
php实现学生管理系统
Mar 21 PHP
PHP实现QQ快速登录的方法
Sep 28 PHP
全面解析PHP面向对象的三大特征
Jun 10 PHP
php 可变函数使用小结
Jun 12 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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获取网络上文件
2006/10/09 PHP
BBS(php &amp; mysql)完整版(六)
2006/10/09 PHP
php 8小时时间差的解决方法小结
2009/12/22 PHP
javascript读取RSS数据
2007/01/20 Javascript
JQery jstree 大数据量问题解决方法
2010/03/09 Javascript
Javascript技巧之不要用for in语句对数组进行遍历
2010/10/20 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
开发 Internet Explorer 右键功能表(ContextMenu)
2013/07/03 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
js小数计算小数点后显示多位小数的实现方法
2016/05/30 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
浅谈jquery上下滑动的注意事项
2016/10/13 Javascript
jQuery编写设置和获取颜色的插件
2017/01/09 Javascript
Jquery遍历筛选数组的几种方法和遍历解析json对象,Map()方法详解以及数组中查询某值是否存在
2019/01/18 jQuery
javascript设计模式 ? 装饰模式原理与应用实例分析
2020/04/14 Javascript
JavaScript代码简化技巧实例解析
2020/09/09 Javascript
[01:05]主宰至宝剑心之遗
2017/03/16 DOTA
[01:33:07]VGJ.T vs Newbee Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
Python实现抓取网页并且解析的实例
2014/09/20 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python 字典中文key处理,读取,比较方法
2018/07/06 Python
Python字符串的全排列算法实例详解
2019/01/07 Python
Python3实现取图片中特定的像素替换指定的颜色示例
2019/01/24 Python
Python使用sklearn库实现的各种分类算法简单应用小结
2019/07/04 Python
对Django中的权限和分组管理实例讲解
2019/08/16 Python
解决pycharm不能自动补全第三方库的函数和属性问题
2020/03/12 Python
关于PyCharm安装后修改路径名称使其可重新打开的问题
2020/10/20 Python
Pytorch自定义Dataset和DataLoader去除不存在和空数据的操作
2021/03/03 Python
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
预备党员思想汇报
2014/01/08 职场文书
公司承诺书范文
2014/05/19 职场文书
2014年教研组工作总结
2014/11/26 职场文书
师德先进个人材料
2014/12/20 职场文书
趣味运动会通讯稿
2015/07/18 职场文书
Python Flask实现进度条
2022/05/11 Python