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 url 加密解密函数代码
Aug 26 PHP
PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
Nov 10 PHP
微博短链接算法php版本实现代码
Sep 15 PHP
ThinkPHP模板自定义标签使用方法
Jun 26 PHP
thinkphp的静态缓存用法分析
Nov 29 PHP
php实现以只读方式打开文件的方法
Mar 16 PHP
推荐十款免费 WordPress 插件
Mar 24 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP后端银联支付及退款实例代码
Jun 23 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
PHP Ajax跨域问题解决方案代码实例
Aug 01 PHP
Laravel中Kafka的使用详解
Mar 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
高亮度显示php源代码
2006/10/09 PHP
php minixml详解
2008/07/19 PHP
10条PHP编程习惯助你找工作
2008/09/29 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
ThinkPHP的模版中调用session数据的方法
2014/07/01 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
thinkPHP5.0框架自动加载机制分析
2017/03/18 PHP
PHP实现的策略模式简单示例
2017/08/25 PHP
js计数器代码
2006/11/04 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
nodejs开发环境配置与使用
2014/11/17 NodeJs
Jquery幻灯片特效代码分享--鼠标点击按钮时切换(1)
2015/08/15 Javascript
javascript字符串函数汇总
2015/12/06 Javascript
JavaScript设计模式之工厂模式简单实例教程
2018/07/03 Javascript
js实现GIF动图分解成多帧图片上传
2019/10/24 Javascript
Javascript类型判断相关例题及解析
2020/08/26 Javascript
python与php实现分割文件代码
2017/03/06 Python
Python中一些不为人知的基础技巧总结
2018/05/19 Python
python+pandas+时间、日期以及时间序列处理方法
2018/07/10 Python
python 3调用百度OCR API实现剪贴板文字识别
2018/09/04 Python
win10下python3.5.2和tensorflow安装环境搭建教程
2018/09/19 Python
Python爬取商家联系电话以及各种数据的方法
2018/11/10 Python
python3+selenium实现126邮箱登陆并发送邮件功能
2019/01/23 Python
java中的控制结构(if,循环)详解
2019/06/26 Python
numpy和pandas中数组的合并、拉直和重塑实例
2019/06/28 Python
解决Django连接db遇到的问题
2019/08/29 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
Stokke美国官方网店:高级儿童家具、推车、汽车座椅和配件
2020/06/06 全球购物
自我评价格式
2014/01/06 职场文书
师范教师专业大学生职业生涯规划范文
2014/03/02 职场文书
镇党委书记群众路线整改措施思想汇报
2014/10/13 职场文书
实习介绍信模板
2015/01/30 职场文书