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获得文件扩展名三法
Nov 25 PHP
Discuz 模板引擎的封装类代码
Jul 18 PHP
php 截取字符串并以零补齐str_pad() 函数
May 07 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
Mar 27 PHP
关于二级目录拖拽排序的实现(源码示例下载)
Apr 26 PHP
浅析php中jsonp的跨域实例
Jun 21 PHP
json的键名为数字时的调用方式(示例代码)
Nov 15 PHP
PHP实现的简单三角形、矩形周长面积计算器分享
Nov 18 PHP
PHP rsa加密解密使用方法
Apr 27 PHP
微信公众号开发客服接口实例代码
Oct 21 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
Nov 15 PHP
浅谈Laravel中的三种中间件的作用
Oct 13 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
mac下使用brew配置环境的步骤分享
2011/05/23 PHP
PHP中获取文件扩展名的N种方法小结
2012/02/27 PHP
PHP扩展程序实现守护进程
2015/04/16 PHP
实现PHP框架系列文章(6)mysql数据库方法
2016/03/04 PHP
PHP生成图片验证码功能示例
2017/01/12 PHP
PHP中的日期时间处理利器实例(Carbon)
2017/06/09 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
简单JS代码压缩器
2006/10/12 Javascript
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
TimergliderJS 一个基于jQuery的时间轴插件
2011/12/07 Javascript
jquery中ajax使用error调试错误的方法
2015/02/08 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
JS无限级导航菜单实现方法
2019/01/05 Javascript
ES6使用 Array.includes 处理多重条件用法实例分析
2020/03/02 Javascript
python程序变成软件的实操方法
2019/06/24 Python
django将网络中的图片,保存成model中的ImageField的实例
2019/08/07 Python
Python实现多线程下载脚本的示例代码
2020/04/03 Python
[原创]赚疯了!转手立赚800+?大佬的python「抢茅台脚本」使用教程
2021/01/12 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Ray-Ban雷朋奥地利官网:全球领先的太阳眼镜品牌
2020/10/12 全球购物
Collection和Collections的区别
2016/05/02 面试题
如何写一份好的自荐信
2014/01/02 职场文书
公司离职证明范本
2014/01/13 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
大足石刻导游词
2015/02/02 职场文书
求职意向书范本
2015/05/11 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
pytorch 如何把图像数据集进行划分成train,test和val
2021/05/31 Python