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&amp;&amp;mysql)六
Oct 09 PHP
收集的二十一个实用便利的PHP函数代码
Apr 22 PHP
header跳转和include包含问题详解
Sep 08 PHP
php实现utf-8和GB2312编码相互转换函数代码
Feb 07 PHP
PHP header()函数使用详细(301、404等错误设置)
Apr 17 PHP
php ci框架验证码实例分析
Jun 26 PHP
php实现格式化多行文本为Js可用格式
Apr 15 PHP
php格式化电话号码的方法
Apr 24 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
Nov 14 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-5.2 的 php.ini 中文版[金步国翻译]
2011/04/17 PHP
PHP将回调函数作用到给定数组单元的方法
2014/08/19 PHP
php实现SAE上使用storage上传与下载文件的方法
2015/06/29 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
为数据添加append,remove功能
2006/10/03 Javascript
javascript实现仿银行密码输入框效果的代码
2007/12/13 Javascript
用tip解决Ext列宽度不够的问题
2008/12/13 Javascript
jQuery stop()用法实例详解
2016/07/28 Javascript
jQuery ztree实现动态树形多选菜单
2016/08/12 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
vue better-scroll插件使用详解
2018/01/25 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
vue中进行微博分享的实例讲解
2019/10/14 Javascript
js正则匹配多个全部数据问题
2019/12/20 Javascript
JS实现页面鼠标点击出现图片特效
2020/08/19 Javascript
python回调函数用法实例分析
2015/05/09 Python
Python Socket使用实例
2017/12/18 Python
使用Python如何测试InnoDB与MyISAM的读写性能
2018/09/18 Python
详解利用OpenCV提取图像中的矩形区域(PPT屏幕等)
2019/07/01 Python
django中forms组件的使用与注意
2019/07/08 Python
Python二维码生成识别实例详解
2019/07/16 Python
python装饰器代替set get方法实例
2019/12/19 Python
django使用JWT保存用户登录信息
2020/04/22 Python
Python字典实现伪切片功能
2020/10/28 Python
selenium+超级鹰实现模拟登录12306
2021/01/24 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
viagogo英国票务平台:演唱会、体育比赛、戏剧门票
2017/03/24 全球购物
应聘医药销售自荐书范文
2014/02/08 职场文书
车队司机个人自我鉴定
2014/04/17 职场文书
2015年爱牙日活动总结
2015/02/05 职场文书
煤矿隐患排查制度
2015/08/05 职场文书
世界文化遗产导游词
2019/08/07 职场文书
golang DNS服务器的简单实现操作
2021/04/30 Golang
SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息
2021/06/30 SQL Server
python如何为list实现find方法
2022/05/30 Python