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的ASP防火墙
Oct 09 PHP
杏林同学录(三)
Oct 09 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
Jan 27 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
Oct 04 PHP
Sublime里直接运行PHP配置方法
Nov 28 PHP
浅谈php中include文件变量作用域
Jun 18 PHP
深入讲解PHP的Yii框架中的属性(Property)
Mar 18 PHP
PHP检测链接是否存在的代码实例分享
May 06 PHP
Yii2框架中日志的使用方法分析
May 22 PHP
Laravel timestamps 设置为unix时间戳的方法
Oct 11 PHP
PHP7新增函数
Mar 09 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读取html并截取字符串的简单代码
2009/11/30 PHP
PHP下用Swoole实现Actor并发模型的方法
2019/06/12 PHP
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
兼容FF和IE的动态table示例自写
2013/10/21 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
2013/11/29 Javascript
Get中文乱码IE浏览器Get中文乱码解决方案
2013/12/26 Javascript
屏蔽IE弹出&quot;您查看的网页正在试图关闭窗口,是否关闭此窗口&quot;的方法
2013/12/31 Javascript
JavaScript实现非常简单实用的下拉菜单效果
2015/08/27 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
2016/09/04 Javascript
JQuery学习总结【一】
2016/12/01 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
2016/12/07 Javascript
详解微信小程序 页面跳转 传递参数
2016/12/08 Javascript
jQuery内存泄露解决办法
2016/12/13 Javascript
Vue中 v-if 和v-else-if页面加载出现闪现的问题及解决方法
2018/10/12 Javascript
vue+ESLint 配置保存 自动格式化代码
2020/03/17 Javascript
JS实现炫酷轮播图
2020/11/15 Javascript
[02:33]2014DOTA2 TI每日综述 LGD涉险晋级DK闯入胜者组
2014/07/14 DOTA
[02:49]DOTA2完美大师赛首日观众采访
2017/11/23 DOTA
用实例说明python的*args和**kwargs用法
2013/11/01 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
python Shapely使用指南详解
2020/02/18 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
Django mysqlclient安装和使用详解
2020/09/17 Python
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
小米乌克兰网上商店:Xiaomi.UA
2019/10/29 全球购物
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
外语系毕业生求职自荐信
2014/04/12 职场文书
环境保护建议书
2014/08/26 职场文书
医者仁心观后感
2015/06/17 职场文书
安全教育第一课观后感
2015/06/17 职场文书
民事纠纷协议书
2016/03/23 职场文书
如何利用pygame实现打飞机小游戏
2021/05/30 Python
python获取带有返回值的多线程
2022/05/02 Python