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+DBM的同学录程序(1)
Oct 09 PHP
php实现从ftp服务器上下载文件树到本地电脑的程序
Feb 10 PHP
创建配置文件 用PHP写出自己的BLOG系统 2
Apr 12 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
php通过ksort()函数给关联数组按照键排序的方法
Mar 18 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
PHP基于cookie与session统计网站访问量并输出显示的方法
Jan 15 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
Sep 29 PHP
PHP时间戳和日期相互转换操作实例小结
Dec 18 PHP
PHP Swoole异步读取、写入文件操作示例
Oct 24 PHP
Centos7安装swoole扩展操作示例
Mar 26 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函数spl_autoload_register()用法和__autoload()介绍
2012/02/04 PHP
php发送get、post请求的6种方法简明总结
2014/07/08 PHP
实例讲解PHP中使用命名空间
2019/01/27 PHP
PHP简单实现图片格式转换(jpg转png,gif转png等)
2019/10/30 PHP
PHP pthreads v3使用中的一些坑和注意点分析
2020/02/21 PHP
JQuery最佳实践之精妙的自定义事件
2010/08/11 Javascript
ExtJS 入门
2010/10/29 Javascript
非html5实现js版弹球游戏示例代码
2013/09/22 Javascript
JavaScript获取客户端计算机硬件及系统等信息的方法
2014/01/02 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
超棒的响应式布局jQuery插件Freetile.js
2014/11/17 Javascript
原生Ajax 和jQuery Ajax的区别示例分析
2014/12/17 Javascript
JavaScript列表框listbox全选和反选的实现方法
2015/03/18 Javascript
jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
2015/12/24 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
详解Vue-基本标签和自定义控件
2017/03/24 Javascript
vue获取DOM元素并设置属性的两种实现方法
2017/09/30 Javascript
JS实现元素上下左右移动效果
2017/10/18 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
vue-i18n实现中英文切换的方法
2020/07/06 Javascript
python批量同步web服务器代码核心程序
2014/09/01 Python
python交互式图形编程实例(一)
2017/11/17 Python
python使用xlrd和xlwt读写Excel文件的实例代码
2018/09/05 Python
详解python的argpare和click模块小结
2019/03/31 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
Python3搭建http服务器的实现代码
2020/02/11 Python
Django 用户登陆访问限制实例 @login_required
2020/05/13 Python
澳大利亚领先的男装零售连锁店:Lowes
2020/08/07 全球购物
办公室文秘岗位职责
2013/11/15 职场文书
重阳节标语大全
2014/10/07 职场文书
2014年教师思想工作总结
2014/12/03 职场文书
工作推荐信模板
2015/03/25 职场文书
推销搭讪开场白
2015/05/28 职场文书
月考总结与反思
2015/10/22 职场文书
Go 语言结构实例分析
2021/07/04 Golang