php实现微信清粉功能,PHP实现微信提现功能
PHP实现微信提现功能
来源:中文源码网 浏览: 次 日期:2019年11月5日
【下载文档: PHP实现微信提现功能.txt 】
(友情提示:右键点上行txt文档名->目标另存为)
PHP实现微信提现功能本文实例为大家分享了PHP实现微信提现功能的具体代码,供大家参考,具体内容如下
一、实现功能
这几天在小程序里要实现用户从系统中提现到零钱的功能,查了一下文档可以使用 企业付款到用户零钱 来实现;
官方文档
注意事项:商户打款时是从商户可用余额中减钱,所以确保商户可用余额充足,同时注意官方文档中的付款规则;
二、PHP实现
//封装提现方法
function tixian($money){
$appid = "################";//商户账号appid
$secret = "##########";//api密码
$mch_id = "#######";//商户号
$mch_no = "#######";
$openid="123456789";//授权用户openid
$arr = array();
$arr['mch_appid'] = $appid;
$arr['mchid'] = $mch_id;
$arr['nonce_str'] = ugv::randomid(20);//随机字符串,不长于32位
$arr['partner_trade_no'] = '1298016501' . date("Ymd") . rand(10000, 90000) . rand(10000, 90000);//商户订单号
$arr['openid'] = $openid;
$arr['check_name'] = 'NO_CHECK';//是否验证用户真实姓名,这里不验证
$arr['amount'] = $money;//付款金额,单位为分
$desc = "###提现";
$arr['desc'] = $desc;//描述信息
$arr['spbill_create_ip'] = '192.168.0.1';//获取服务器的ip
//封装的关于签名的算法
$notify = new Notify_pub();
$notify->weixin_app_config = array();
$notify->weixin_app_config['KEY'] = $mch_no; $arr['sign'] = $notify->getSign($arr);//签名 $var = $notify->arrayToXml($arr);
$xml = $this->curl_post_ssl('http://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers', $var, 30, array(), 1);
$rdata = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA);
$return_code = (string)$rdata->return_code;
$result_code = (string)$rdata->result_code;
$return_code = trim(strtoupper($return_code));
$result_code = trim(strtoupper($result_code)); if ($return_code == 'SUCCESS' && $result_code == 'SUCCESS') {
$isrr = array(
'con'=>'ok',
'error' => 0,
);
} else {
$returnmsg = (string)$rdata->return_msg;
$isrr = array(
'error' => 1,
'errmsg' => $returnmsg,
); }
return json_encode($isrr);
} //上个方法中用到的curl_post_ssl()
function curl_post_ssl($url, $vars, $second = 30, $aHeader = array())
{
$isdir = "/cert/";//证书位置 $ch = curl_init();//初始化curl curl_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, $vars);//全部数据使用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;
}
}
三、补充
关于具体签名算法,可参考微信官方文档;
简单示范签名算法:
//将要发送的数据整理为$dataksort($data);//排序
//使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串
$str='';
foreach($data as $k=>$v) {
$str.=$k.'='.$v.'&';
}
//拼接API密钥
$str.='key='.$secrect;
$data['sign']=md5($str);//加密将数组转换成xml格式(简单方法):
//遍历数组方法
function arraytoxml($data){
$str='';
foreach($data as $k=>$v) {
$str.=''.$v.''.$k.'>';
}
$str.='';
return $str;
}将xml格式转换为数组:
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;
}以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持中文源码网。
亲,试试微信扫码分享本页! *^_^*
php实现微信清粉功能,PHP实现微信提现功能相关推荐
- php 微商城 提现功能,微商城App提现功能升级
各位商家,大家好: 我们收到不少商家反馈:"普通管理员未经授权操作提现""误操作删除银行卡"等场景,希望"提现有验证码校验,避免误操作或非授权者操作& ...
- 85后北大毕业生放弃年薪百万工作,开发制作微信“清粉”软件牟利:涉案800万...
点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 来源:公安部网安局 经3个多月的缜密侦查 浙江温州苍南警方在多地开展行动 成功侦破一起开发微信"清粉 ...
- 【安全资讯】“微信清粉”被爆非法获取用户信息,用户付费后,个人信息被出售
作者|蔚可云 来源|今日头条 发布时间|2021-11-07 图片来源:51CTO.com 微信好友加满了,想删掉一些联系人,又怕删错好友.好友把你删了,可他还躺在你的好友列表里. 基于这个需求,催生 ...
- 微信公众平台消息接口星标功能
[微信公众平台星标功能接口被撤销]微信公众平台消息接口中的星标功能,被悄悄的去掉了. 原因应该是有的账号在程序中大量使用星标功能,造成微信服务器存储记录过于宠大. 现在要继续使用星标功能,只能在后台手 ...
- 必须进行支持的游戏方可使用此功能_企业微信 3.0上线,开放朋友圈功能,又一风口?...
大家好我是辰由,微信作为一款国民级APP坐拥十几亿活跃用户,工作生活中必不可少,几乎每天都能够用得到,每一次的更新都能够牵动数十亿人的关注. 2019年12月23日企业微信2019年度发布会在广州举行 ...
- 微信公众平台开发(十一) 功能整合
一.简介 在前面的几篇微信功能开发文档中,各个微信的功能都是独立的,单一微信只能提供一种功能,这样不符合大众开发者和客户的需求.所以在这一篇文章中,我们将对前面开发出来的微信功能进行简单整合,以供读者 ...
- web程序前后台功能实现_微信定制开发、小程序定制开发可以实现哪些功能?
企业微信,是腾讯微信团队为企业打造的专业办公管理工具.与微信一致的沟通体验,丰富免费的OA应用,并与微信消息.小程序.微信支付等互通,助力企业高效办公和管理.全面安全保障,国际权威认证,银行级别加密水 ...
- C#开发微信门户及应用(7)-微信多客服功能及开发集成
原文:C#开发微信门户及应用(7)-微信多客服功能及开发集成 最近一直在弄微信的集成功能开发,发现微信给认证账户开通了一个多客服的功能,对于客户的咨询,可以切换至客服处理的方式,而且可以添加多个客服进 ...
- 微信公众号新功能-原创声明、赞赏功能、评论管理、页面模版
原文:http://www.shichangbu.com/portal.php?mod=view&aid=25931 公众号如何申请这些功能? ...
最新文章
- 从LeetCode 679. 24 Game--C++ 解法--二十四点 到穷举24点所有可能性-24点大全
- Codeforces Round #547 (Div. 3) D
- 谈谈2018年区块链大事件
- IntelliJ IDEA for Mac在MacOS模式下的导航快捷键(Navigation Shortcut)
- java8新特性(1)--- lambda表达式
- SpringBoot 动态创建多定时任务
- python从零开始到放弃_Python 协程从零开始到放弃
- 护理在计算机的应用研究,计算机虚拟和模拟技术在护理实践教学中应用的研究...
- InternalError: Blas GEMM launch failed : a.shape=(100, 784), b.shape=(784, 10), m=100, n=10...问题解决办法
- 关于18183-王者荣耀专区网站的TDK简要分析(更多内容请访问http://www.eduaskx6.com/)...
- JdbcUtils针对事务问题作出的第三次修改
- 汉王手写板linux驱动下载,Hanwang汉王
- 服务器的tpmc查询网站,xxxx最新服务器选型指标_tpcc(tpmc)标准值_tpc官方整理.pdf
- cuda the launch timed out and was terminated windows11解决方案 关闭TDR
- 分享:淘宝客完全开源程序。
- 我们到底能从《别逗了,费曼先生》中学到什么?
- 词性标记:VA,VC,VE,VV等
- Linux 命令(142)—— hexdump 命令
- Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件(学习笔记)
- 袁腾飞的两宋风云读后感