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基础知识:类与对象(3) 构造函数和析构函数
Dec 13 PHP
PHP 采集程序中常用的函数
Dec 09 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
队列在编程中的实际应用(php)
Sep 04 PHP
ajax取消挂起请求的处理方法
Mar 18 PHP
php三维数组去重(示例代码)
Nov 26 PHP
浅谈php安全性需要注意的几点事项
Jul 17 PHP
PHP获取一个字符串中间一部分字符的方法
Aug 19 PHP
PHP使用Mysql事务实例解析
Sep 08 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
php微信公众账号开发之前五个坑(一)
Sep 18 PHP
ThinkPHP打水印及设置水印位置的方法
Oct 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 删除文件与文件夹操作 unlink()与rmdir()这两个函数的使用
2011/07/17 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
浅谈PHP中其他类型转化为Bool类型
2016/03/28 PHP
php实现有序数组旋转后寻找最小值方法
2018/09/27 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
Javascript中对象继承的实现小例
2014/05/12 Javascript
Javascript保存网页为图片借助于html2canvas库实现
2014/09/05 Javascript
JavaScript页面模板库handlebars的简单用法
2015/03/02 Javascript
JS正则表达式比较常见用法
2016/01/26 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
详解Vue用自定义指令完成一个下拉菜单(select组件)
2017/10/31 Javascript
ztree实现左边动态生成树右边为内容详情功能
2017/11/03 Javascript
vue组件实现进度条效果
2018/06/06 Javascript
浅析Vue.js中v-bind v-model的使用和区别
2018/12/04 Javascript
Python 常用的安装Module方式汇总
2017/05/06 Python
Python类装饰器实现方法详解
2018/12/21 Python
python实现flappy bird游戏
2018/12/24 Python
树莓派使用USB摄像头和motion实现监控
2019/06/22 Python
在linux系统下安装python librtmp包的实现方法
2019/07/22 Python
Python中断多重循环的思路总结
2019/10/04 Python
Python 一行代码能实现丧心病狂的功能
2020/01/18 Python
python 生成器需注意的小问题
2020/09/29 Python
使用tkinter实现三子棋游戏
2021/02/25 Python
欧迪办公美国官网:Office Depot
2016/08/22 全球购物
世界最大的票务市场:viagogo
2017/02/16 全球购物
荷兰最大的儿童服装店:The Kids Republic
2019/04/13 全球购物
大学生毕业的自我鉴定
2013/11/13 职场文书
班主任对学生的评语
2014/04/26 职场文书
英文商务邀请函范文
2015/01/31 职场文书
2015年班主任个人工作总结
2015/03/31 职场文书
详解如何在Canvas中添加事件的方法
2021/04/17 Javascript
微信小程序基础教程之echart的使用
2021/06/01 Javascript