搜索热词

怎么开通企业付款到零钱?@H_404_1@

有的商户号的产品中心是没有这个功能的,不过,该功能的pid(product id)是5,只要随便进去某一个产品,在地址栏把pid改为5。@H_404_1@

即可进入该功能页面,进行开通,不过要满足条件。@H_404_1@

用户提现代码:@H_404_1@

1 //用户微信提现

2 private function withdrawals_weixin($id){3 $falg = M('withdrawals')->where(['id'=>$id])->find();4 $openid = M('users')->where('user_id',$falg['user_id'])->value('openid');5 $data['openid'] = $openid;6 $data['pay_code'] = $falg['id'].$falg['user_id'];7 $data['desc'] = '提现ID'.$falg['id'];8 if($falg['taxfee'] >= $falg['money']){9 return array('status'=>1,'msg'=>"提现额度必须大于手续费!");10 }else{11 $data['money'] = bcsub($falg['money'],$falg['taxfee'],2);12 }13 include_once PLUGIN_PATH . "payment/weixin/weixin.class.PHP";14 $weixin_obj = new\weixin();15 $result = $weixin_obj->transfer($data);16

17 return $result;18 }

@H_404_1@

其中pay_code在商户号的提现功能是唯一的,所以为了防重放攻击,这个值千万不能用随机数,最好用ID,具有提现记录唯一。@H_404_1@

提现逻辑代码:@H_404_1@

1 //微信提现转账

2 function transfer($data){3

4 header("Content-type: text/html; charset=utf-8");5 //CA证书及支付信息

6 $wxchat['appid'] = WxPayConfig::$appid;7 $wxchat['mchid'] = WxPayConfig::$mchid;8

9 $wxchat['api_cert'] = PLUGIN_PATH.'/payment/weixin/cert/apiclient_cert.pem';10 $wxchat['api_key'] = PLUGIN_PATH.'/payment/weixin/cert/apiclient_key.pem';11

12 //$wxchat['api_ca'] = '/plugins/payment/weixin/cert/rootca.pem';

13 $webdata = array(14 'mch_appid' => $wxchat['appid'],15 'mchid' => $wxchat['mchid'],16 'nonce_str' => md5(time()),17 //'device_info' => '1000',

18 'partner_trade_no'=> $data['pay_code'],//商户订单号,需要唯一

19 'openid' => $data['openid'],//转账用户的openid

20 'check_name'=> 'NO_CHECK',//OPTION_CHECK不强制校验真实姓名,FORCE_CHECK:强制 NO_CHECK:21 //'re_user_name' => 'jorsh',//收款人用户姓名

22 'amount' => $data['money'] * 100,//付款金额单位为分

23 'desc' => $data['desc'],24 'spbill_create_ip' => request()->ip(),25 );26

27 foreach ($webdata as $k => $v) {28 $tarr[] =$k.'='.$v;29 }30

31 sort($tarr);32 $sign = implode($tarr,'&');33 $sign .= '&key='.WxPayConfig::$key;34 $webdata['sign']=strtoupper(md5($sign));35

36 $wget = $this->array2xml($webdata);37

38 $pay_url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';39

40 $res = $this->http_post($pay_url,$wget,$wxchat);41

42 if(!$res){43 return array('status'=>1,'msg'=>"Can't connect the server");44 }45 $content = simplexml_load_string($res,'SimpleXMLElement',LIBXML_NOCDATA);46

47 if(strval($content->return_code) == 'FAIL'){48 return array('status'=>1,'msg'=>strval($content->return_msg));49 }50 if(strval($content->result_code) == 'FAIL'){51 return array('status'=>1,'msg'=>strval($content->err_code),':'.strval($content->err_code_des));52 }53

54 $rdata = array(55 'mch_appid' => strval($content->mch_appid),56 'mchid' => strval($content->mchid),57 'device_info' => strval($content->device_info),58 'nonce_str' => strval($content->nonce_str),59 'result_code' => strval($content->result_code),60 'partner_trade_no' => strval($content->partner_trade_no),61 'payment_no' => strval($content->payment_no),62 'payment_time' => strval($content->payment_time),63 );64 return $rdata;65

66 }

@H_404_1@

其中 PLUGIN_PATH 是一个常量@H_404_1@

1 define('PLUGIN_PATH',__DIR__ . '/plugins/');2 定义插件目录3

4

5 /**6 * 将一个数组转换为 XML 结构的字符串7 * @param array $arr 要转换的数组8 * @param int $level 节点层级,1 为 Root.9 * @return string XML 结构的字符串10 */

11 function array2xml($arr,$level = 1) {12 $s = $level == 1 ? "" : '';13 foreach($arr as $tagname => $value) {14 if (is_numeric($tagname)) {15 $tagname = $value['TagName'];16 unset($value['TagName']);17 }18 if(!is_array($value)) {19 $s .= "".(!is_numeric($value) ? '' : '')."{$tagname}>";20 } else{21 $s .= "" . $this->array2xml($value,$level + 1)."{$tagname}>";22 }23 }24 $s = preg_replace("/([\x01-\x08\x0b-\x0c\x0e-\x1f])+/",' ',$s);25 return $level == 1 ? $s."" : $s;26 }27

28 function http_post($url,$param,$wxchat) {29 $oCurl =curl_init();30 if (stripos($url,"https://") !== FALSE) {31 curl_setopt($oCurl,CURLOPT_SSL_VERIFYPEER,FALSE);32 curl_setopt($oCurl,CURLOPT_SSL_VERIFYHOST,FALSE);33 }34 if (is_string($param)) {35 $strPOST = $param;36 } else{37 $aPOST = array();38 foreach ($param as $key => $val) {39 $aPOST[] = $key . "=" . urlencode($val);40 }41 $strPOST = join("&",$aPOST);42 }43 curl_setopt($oCurl,CURLOPT_URL,$url);44 curl_setopt($oCurl,CURLOPT_RETURNTRANSFER,1);45 curl_setopt($oCurl,CURLOPT_POST,true);46 curl_setopt($oCurl,CURLOPT_POSTFIELDS,$strPOST);47 if($wxchat){48 curl_setopt($oCurl,CURLOPT_SSLCERT,$wxchat['api_cert']);49 curl_setopt($oCurl,CURLOPT_SSLKEY,$wxchat['api_key']);50 curl_setopt($oCurl,CURLOPT_CAINFO,$wxchat['api_ca']);51 }52 $sContent = curl_exec($oCurl);53 $aStatus = curl_getinfo($oCurl);54 curl_close($oCurl);55

56 if (intval($aStatus["http_code"]) == 200) {57 return $sContent;58 } else{59 return false;60 }61 }

很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、MysqL优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要的加群(点击→)677079770@H_404_1@

@H_404_1@

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

php商城微信提现,PHP实现微信提现(企业付款到零钱)相关推荐

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

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

  2. 微信零钱数据在服务器,关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案...

    前言: 最近做了一个通过调用微信企业付款到用户零钱的功能,真的挺奇怪的,在我本地调试的时候都没有问题,但是当我发布到服务上的时候却一直无法读取到我的证书信息.读取的代码如下,使用的是微信官方文档提供的 ...

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

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

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

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

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

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

  6. cms小猪o2o企业付款配置中微信提现配置实现商家转账到零钱(企业付款到零钱)解决:“操作失败!产品权限验证失败,请查看您当前是否具有该产品的权限“的错误提示

    先说下概念什么是商家转账到零钱?其实这个功能是由企业付款到零钱功能演变过来的,微信支付里面在2022年5月之前这个功能一直叫"企业付款到零钱"后来因为业务需求改成了"商家 ...

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

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

  8. 微信 企业付款到零钱 提现

    官方文档:https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=14_1 关键参数如图: 证书如图: 证书路径要与代码里的路 ...

  9. 微信支付踩坑记录 (java后端四:企业付款到零钱)

    普通商户模式微信支付之企业付款到零钱: 前言: 为啥会用到企业付款到零钱呢,如果在自己的系统里面有涉及到用户提现,活动奖励等功能,则就可以使用到企业付款到零钱,我在这里将其称之为转账,但是使用企业付款 ...

最新文章

  1. 云端卫士架构师讲DDoS攻击的智能防御之道
  2. Android中的ListView
  3. jflash合并stm32f103之bin文件及hex文件
  4. JQuery-学习笔记06【高级——JQuery事件绑定和切换】
  5. WPF 实现加速小火箭~
  6. 数组名与函数的结合使用注意项
  7. 控制edittext光标位置
  8. 推理集 —— 物品与动物
  9. poj 2186(强连通分量)
  10. 安利4款良心的时间轴软件,建议收藏!
  11. 漫画 | 为什么美国人发明了互联网?
  12. unity简单的粒子特效的制作
  13. html table td 居中显示,table td怎么垂直居中显示 详解table中如何隐藏td?
  14. 华为服务器_RH2288H V3介绍
  15. 共享店铺靠谱么?共享店铺哪家好?全方位测评企雀共享店铺,黑谷共享店铺!
  16. 【ML05】Feature Scaling 特征缩放
  17. Python 条件语句if的语法、注意事项、代码示例
  18. MFC 基于VLC的视频播放器(三)---界面设计以及对话框接受文件的拖拽
  19. SD卡检测插入卡槽方案
  20. csu 1020 真三国无双

热门文章

  1. 在线笔画顺序查询工具
  2. Access关键词大全
  3. SourceInsight多行注释
  4. linux下wps 点击无反应 无法打开 在命令行也打不开,最开始可以打开,关机重启之后不能够打开
  5. html基础笔记及案例
  6. SpringMvc之Json全局异常处理
  7. 第一章 信息化与信息系统 (2)
  8. Linux: command: traceroute traceroute6
  9. 网络斗地主游戏的完整设计与实现(四)游戏状态更新机制与心跳机制
  10. 【浏览器工作原理与实践笔记一】:宏观视角上的浏览器