<?php
/*代码部分*///企业付款到微信零钱,PHP接口调用方法
define("APPID", "wxe062425f740c30d8"); // 商户账号appid
define("MCHID", "10000098");      // 商户号
define("SECRECT_KEY", "453436425252");  //支付密钥签名
define("IP", "xxx.xxx.xx.xx");   //IP/*** [xmltoarray xml格式转换为数组]* @param  [type] $xml [xml]* @return [type]      [xml 转化为array]*/
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;
}/*** [arraytoxml 将数组转换成xml格式(简单方法):]* @param  [type] $data [数组]* @return [type]       [array 转 xml]*/
function arraytoxml($data){$str='<xml>';foreach($data as $k=>$v) {$str.='<'.$k.'>'.$v.'</'.$k.'>';}$str.='</xml>';return $str;
}/*** [createNoncestr 生成随机字符串]* @param  integer $length [长度]* @return [type]          [字母大小写加数字]*/
function createNoncestr($length =32){$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz0123456789";$str ="";for($i=0;$i<$length;$i++){$str.= substr($chars, mt_rand(0, strlen($chars)-1), 1);}return $str;
}/*** [curl_post_ssl 发送curl_post数据]* @param  [type]  $url     [发送地址]* @param  [type]  $xmldata [发送文件格式]* @param  [type]  $second [设置执行最长秒数]* @param  [type]  $aHeader [设置头部]* @return [type]           [description]*/
function curl_post_ssl($url, $xmldata, $second = 30, $aHeader = array()){$isdir = $_SERVER['DOCUMENT_ROOT']."/cert/";//证书位置;绝对路径$ch = curl_init();//初始化curlcurl_setopt($ch, CURLOPT_TIMEOUT, $second);//设置执行最长秒数curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上curl_setopt($ch, CURLOPT_URL, $url);//抓取指定网页curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);// 终止从服务端进行验证curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');//证书类型curl_setopt($ch, CURLOPT_SSLCERT, $isdir . 'apiclient_cert.pem');//证书位置curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');//CURLOPT_SSLKEY中规定的私钥的加密类型curl_setopt($ch, CURLOPT_SSLKEY, $isdir . 'apiclient_key.pem');//证书位置curl_setopt($ch, CURLOPT_CAINFO, 'PEM');curl_setopt($ch, CURLOPT_CAINFO, $isdir . 'rootca.pem');if (count($aHeader) >= 1) {curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);//设置头部}curl_setopt($ch, CURLOPT_POST, 1);//post提交方式curl_setopt($ch, CURLOPT_POSTFIELDS, $xmldata);//全部数据使用HTTP协议中的"POST"操作来发送$data = curl_exec($ch);//执行回话if ($data) {curl_close($ch);return $data;} else {$error = curl_errno($ch);echo "call faild, errorCode:$error\n";curl_close($ch);return false;}
}/*** [sendMoney 企业付款到零钱]* @param  [type] $amount     [发送的金额(分)目前发送金额不能少于1元]* @param  [type] $re_openid  [发送人的 openid]* @param  string $desc       [企业付款描述信息 (必填)]* @param  string $check_name [收款用户姓名 (选填)]* @return [type]             [description]*/
function sendMoney($amount,$re_openid,$desc='测试',$check_name=''){$total_amount = (100) * $amount;$data=array('mch_appid'=>APPID,//商户账号appid'mchid'=> MCHID,//商户号'nonce_str'=>createNoncestr(),//随机字符串'partner_trade_no'=> date('YmdHis').rand(1000, 9999),//商户订单号'openid'=> $re_openid,//用户openid'check_name'=>'NO_CHECK',//校验用户姓名选项,'re_user_name'=> $check_name,//收款用户姓名'amount'=>$total_amount,//金额'desc'=> $desc,//企业付款描述信息'spbill_create_ip'=> IP,//Ip地址);//生成签名算法$secrect_key=SECRECT_KEY;///这个就是个API密码。MD5 32位。$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);$url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //调用接口$res=curl_post_ssl($url,$xml);$return=xmltoarray($res);print_r($return);//返回来的结果是xml,最后转换成数组/*array(9) {["return_code"]=>string(7) "SUCCESS"["return_msg"]=>array(0) {}["mch_appid"]=>string(18) "wx57676786465544b2a5"["mchid"]=>string(10) "143345612"["nonce_str"]=>string(32) "iw6TtHdOySMAfS81qcnqXojwUMn8l8mY"["result_code"]=>string(7) "SUCCESS"["partner_trade_no"]=>string(18) "201807011410504098"["payment_no"]=>string(28) "1000018301201807019357038738"["payment_time"]=>string(19) "2018-07-01 14:56:35"}*/$responseObj = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA);echo $res= $responseObj->return_code;  //SUCCESS  如果返回来SUCCESS,则发生成功,处理自己的逻辑return $res;
}/*调用方法*/
sendMoney(1,'gdgfdg56456223423','xxxx测试','xxx');

转载于:https://my.oschina.net/u/3853452/blog/1933102

企业付款到零钱(微信)相关推荐

  1. 微信企业付款到零钱(微信提现)

    由于项目中要用到微信提现,参考网上代码和官方文档写了提现的工具类 用到的相关类库 dom4j commons-lang3 httpclient-4.4.1 具体相关流程可以看微信企业付款到零钱的开发文 ...

  2. 企业付款到零钱微信API请求报错:error:0909006C:PEM routines:get_name:no start line

    背景 对接企业付款到零钱,微信api请求时需要用到证书(node环境使用pem格式) 微信API:[微信支付]付款开发者文档 已经用微信的\WXCertUtil工具在本地生成了证书文件 问题所在: 证 ...

  3. 微信支付----企业付款到零钱和银行卡规则

    企业付款到零钱 微信官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1 使用条件 1.商户号(或同主体 ...

  4. 企业付款到零钱 java_微信支付商户如何开通企业付款到零钱?

    1.功能介绍 简介 企业付款提供由商户直接付钱至用户微信零钱的能力,支持平台操作及接口调用两种方式.具有免费.快速到账.灵活.安全等优点.商户可以使用企业付款,用于如:费用报销.员工福利.用户奖励等. ...

  5. 微信用户提现功能 显示NO_AUTH | 产品权限验证失败,请查看您当前是否具有该产品的权限(企业付款到零钱 银行卡)

    企业付款到零钱 一.开通条件 需同时满足两个条件,才有开通该功能入口: 1.T+0 (T日结算至基本账户),结算商户需满足两个条件: 1.入驻满90天, 2.截止今日往回推30天连续不间断保持有交易. ...

  6. PHP微信商户支付 - 企业付款到零钱功能(即提现)技术资料汇总

    PHP实现微信开发中提现功能(企业付款到用户零钱) 一.实现该功能目的 这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现: 官方文档:https:/ ...

  7. 微信支付-企业付款到零钱问题集锦

    前言 做拉新活动的奖金分发,商品售卖的分销体系.给与用户奖金 1. 需要证书 <xml> <return_code><![CDATA[SUCCESS]]></ ...

  8. 微信提现——企业付款到零钱demo(超详细小白都看得懂的)

    一.p12证书下载 企业付款到零钱API (建议多看) apiclient_cert.p12证书:在微信商户平台–>账户设置–>API安全–>证书中下载的 . (自行下载) 二.开发 ...

  9. 解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创)

    解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口(原创) 参考文章: (1)解决问题:CA_ERROR证书出错,请登录微信支付商户平台下载证书-企业付款到零钱接口 ...

最新文章

  1. 《Unix网络编程卷1-套接字联网API》第一个例子编译 不通过问题解决
  2. IE8经常停止工作和显示异常
  3. python发明者叫什么-python是谁的
  4. 在企业环境中部署 Microsoft Windows 恶意软件删除工具
  5. python isinstance和issubclass区别
  6. Python3快速入门----(3) dict(字典结构)
  7. JVM 学习一:JVM 的构架模型及生命周期
  8. javascript中substring()、substr()、slice()的区别
  9. 使用绑定进行WPF DataGrid格式化的指南
  10. 金融科技的别样财报:趣店坎坷后回暖、品钛首盈利
  11. Smart3D中空三的设置
  12. MATLAB遗传算法求函数最值
  13. 用于重尾PLDA的快变分贝叶斯应用于i-vector和x-vector
  14. 架构之:serverless架构
  15. 于的繁体字有几种写法_于的繁体字是什么(行书怎么写)
  16. 泰拉瑞亚云服务器的搭建
  17. 学习如何读论文的一些磨刀不误砍柴工
  18. java写关于温度的算法_摄氏温度和华氏温度的转换之java算法
  19. oracle 数据库不用了,改用SQL,要学SQL了,第一个手工写的存储过程
  20. 外贸人必备的实用工具

热门文章

  1. ShapeExplorer
  2. Js 代替eval的方法
  3. 2023年了,还是没学会内卷....
  4. 框架效应——说话的学问
  5. f_sync有大用但不可以滥用
  6. ubuntu 20.04 主题美化
  7. C语言实例:输出八进制,十进制,十六进制,指定位数整数,带符号整数,科学计数法表示的整数
  8. pcr扩增mix试剂选购相关问题
  9. maven(五)的自动化构建
  10. cocos2d 使用TexturePacker制作plist文件