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 更新数据库中断的解决方法
Jun 05 PHP
php 连接mssql数据库 初学php笔记
Mar 01 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
php 生成短网址原理及代码
Jan 23 PHP
php使用mkdir创建多级目录入门例子
May 10 PHP
smarty内置函数config_load用法实例
Jan 22 PHP
laravel项目利用twemproxy部署redis集群的完整步骤
May 11 PHP
ThinkPHP5.0 图片上传生成缩略图实例代码说明
Jun 20 PHP
PHP curl批处理及多请求并发实现方法分析
Aug 15 PHP
PHP生成zip压缩包的常用方法示例
Aug 22 PHP
laravel 操作数据库常用函数的返回值方法
Oct 11 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
第六节 访问属性和方法 [6]
2006/10/09 PHP
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
php实现微信企业转账功能
2018/10/02 PHP
tp5框架使用composer实现日志记录功能示例
2019/01/10 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
javascript css float属性的特殊写法
2008/11/13 Javascript
jQuery满意度星级评价插件特效代码分享
2015/08/19 Javascript
javascript实现拖放效果
2015/12/16 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
JS 组件系列之BootstrapTable的treegrid功能
2017/06/16 Javascript
微信JS SDK接入的几点注意事项(必看篇)
2017/06/23 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
jQuery插件实现非常实用的tab栏切换功能【案例】
2019/02/18 jQuery
JS根据Unix时间戳显示发布时间是多久前【项目实测】
2019/07/10 Javascript
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
基于vue--key值的特殊用处详解
2020/07/31 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
Python字典简介以及用法详解
2016/11/15 Python
python hough变换检测直线的实现方法
2019/07/12 Python
简单了解Pandas缺失值处理方法
2019/11/16 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
ProBikeKit美国官网:自行车套件,跑步和铁人三项套件
2016/10/13 全球购物
蒂娜商店:Tiina the Store
2019/12/07 全球购物
瑞士男士时尚网上商店:Babista
2020/05/14 全球购物
学生实习自我鉴定
2013/10/11 职场文书
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
分厂厂长岗位职责
2013/12/29 职场文书
《忆江南》教学反思
2014/04/07 职场文书
公司户外活动总结
2014/07/04 职场文书
个人年终总结范文
2015/03/09 职场文书
运动会入场词
2015/07/18 职场文书
加强党性修养心得体会
2016/01/21 职场文书
高一作文之乐趣
2019/11/21 职场文书