<?phpnamespace app\api\controller;use app\common\controller\Api;
use think\Response;
use think\Config;
/*** 示例接口*/
class Demo extends Api
{//如果$noNeedLogin为空表示所有接口都需要登录才能请求//如果$noNeedRight为空表示所有接口都需要验证权限才能请求//如果接口已经设置无需登录,那也就无需鉴权了//// 无需登录的接口,*表示全部protected $noNeedLogin = ['*'];// 无需鉴权的接口,*表示全部protected $noNeedRight = ['*'];/*** 测试方法**/public function test(){   $batch_name   = '余额提现';//转账的名称$out_trade_no = time().rand(1000,9999);//单号$money        = 1;//金额$openid       = 'oTQgi5xbXc1diAZ7U_xxxxxxxxxx';//用户openid$this->tixian($batch_name,$out_trade_no,1,$openid);}public function tixian($batch_name,$out_trade_no,$money,$openid){$url = 'https://api.mch.weixin.qq.com/v3/transfer/batches';$pars = [];$pars['appid'] = 'wxe801xxxxxxxxxxxx';//直连商户的appid$pars['out_batch_no'] = 'sjzz'.date('Ymd').mt_rand(1000, 9999);//商户系统内部的商家批次单号,要求此参数只能由数字、大小写字母组成,在商户系统内部唯一$pars['batch_name']   = $batch_name;//该笔批量转账的名称$pars['batch_remark'] = $batch_name;//转账说明,UTF8编码,最多允许32个字符$pars['total_amount'] = intval($money * 100);//转账总金额 单位为“分”$pars['total_num']    = 1;//转账总笔数$pars['transfer_detail_list'][0]  = ['out_detail_no'=>'Dh'.$out_trade_no,'transfer_amount'=>$pars['total_amount'],'transfer_remark'=>$batch_name,'openid'=>$openid];//转账明细列表          $token  = $this->getToken($pars);//获取token$res    = $this->https_request($url,json_encode($pars),$token);//发送请求$resArr = json_decode($res,true);halt($resArr);//成功返回// array(3) {//   ["batch_id"] => string(40) "1030001016101247194272022062900873000000"//   ["create_time"] => string(25) "2022-06-29T10:21:30+08:00"//   ["out_batch_no"] => string(16) "sjzz202206291647001"// }}function https_request($url,$data = null,$token){$curl = curl_init();curl_setopt($curl, CURLOPT_URL, (string)$url);curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);if (!empty($data)){curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, $data);}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//添加请求头$headers = ['Authorization:WECHATPAY2-SHA256-RSA2048 '.$token,'Accept: application/json','Content-Type: application/json; charset=utf-8','User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36',];if(!empty($headers)){curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);}$output = curl_exec($curl);curl_close($curl);return $output;}public function getToken($pars){   // $url = 'https://api.mch.weixin.qq.com/v3/certificates';$url = 'https://api.mch.weixin.qq.com/v3/transfer/batches';$http_method = 'POST';//请求方法(GET,POST,PUT)$timestamp   = time();//请求时间戳$url_parts   = parse_url($url);//获取请求的绝对URL$nonce       = $timestamp.rand('10000','99999');//请求随机串$body        = json_encode((object)$pars);//请求报文主体$stream_opts = ["ssl" => ["verify_peer"=>false,"verify_peer_name"=>false,]];$apiclient_cert_path = 'https://'.$_SERVER['HTTP_HOST'].'/uploads/apiclient/apiclient_cert.pem';$apiclient_key_path  = 'https://'.$_SERVER['HTTP_HOST'].'/uploads/apiclient/apiclient_key.pem';$apiclient_cert_arr = openssl_x509_parse(file_get_contents($apiclient_cert_path,false, stream_context_create($stream_opts)));$serial_no          = $apiclient_cert_arr['serialNumberHex'];//证书序列号$mch_private_key    = file_get_contents($apiclient_key_path,false, stream_context_create($stream_opts));//密钥$merchant_id = '160xxxxxxx';//商户id$canonical_url = ($url_parts['path'] . (!empty($url_parts['query']) ? "?${url_parts['query']}" : ""));$message = $http_method."\n".$canonical_url."\n".$timestamp."\n".$nonce."\n".$body."\n";openssl_sign($message, $raw_sign, $mch_private_key, 'sha256WithRSAEncryption');$sign = base64_encode($raw_sign);//签名$schema = 'WECHATPAY2-SHA256-RSA2048';$token = sprintf('mchid="%s",nonce_str="%s",timestamp="%d",serial_no="%s",signature="%s"',$merchant_id, $nonce, $timestamp, $serial_no, $sign);//微信返回tokenreturn $token;}}

php微信商家转账到零钱 发起商家转账API相关推荐

  1. 微信支付:商家转账到零钱的开发

    主要所需:1.微信商户平台的证书apiclient_cert.pem 2.微信商户平台证书的密钥apiclient_key.pem 3.微信商户平台的证书的序列号 一.转账所需字段 public cl ...

  2. 平台资金提现解决方案之实现微信商家转账到零钱功能

    大家好,我是小悟 使用场景 不管是做APP.电脑网站.手机网站还是小程序,为了推广基本上都离不开用户分佣的场景. 换句话说就是在其平台内为每个用户设置"电子钱包"功能,而电子钱包在 ...

  3. c# 微信支付V3商家转账到零钱避坑宝典(二)

    上篇文章经过开通商家转账到零钱,以及设置安全证书,APIv3密钥,接下来访问接口,获取证书的key,以及密钥. 废话不多说,上酸菜,不对,上代码. 一.首先小程序appid,商户号,证书编号,后台配置 ...

  4. 怎么开通商家转账到零钱?

    目录 定义与场景 开通条件 产品优势 权限申请实操 个人浅谈 定义与场景 商家转账到零钱是微信支付商户平台推出的运营工具,可以为商户提供向一个或者同时向多个用户微信零钱转账的能力,商户可免费使用.商户 ...

  5. 商家转账到零钱快速开通方法

    什么是商家转账到零钱? 商家转账提供商户同时向多个用户微信零钱转账的能力.商户可以使用商家转账用于费用报销.员工福利发放.合作伙伴货款或服务款项支付等场景,提高转账效率. 都知道官网开通这个功能条件有 ...

  6. 商家转账到零钱场景申请模板有吗

    相信大多在申请开通商家转账到零钱的时候遇到审核不通过的问题,然而腾讯审核标准也在不断变化,被驳回也没有一个很清晰的答复.那么有解决方案吗? 答案是:有的,代申请模式. 什么是商家转账到零钱 商家转账到 ...

  7. 基于微信云开发的商家转账至零钱

    基于微信云开发的商家转账至零钱 相关简介 开通功能 阅读文档 技术框架 配置环境 编写代码 注意事项 相关参考 相关简介 本篇文章主要介绍如何通过微信云开发的云函数实现商家转账到零钱.(让那些没有服务 ...

  8. PHP实现微信提现V3版本2022-5更新接口:商家转账到零钱

    微信官方又更新了接口... V3版本的微信商家转账到零钱的接口---俗称提现接口 注意事项 一:开通条件:需满足入驻满90天,连续正常交易30天,保持正常健康交易. 二:分为页面发起和api接口操作, ...

  9. 微信“商家转账到零钱“功能接入以及如何获得转账结果?

    先说答案:无法即时获得转账结果 首先按照商家转账到零钱文档接入,发现响应结果中没有转账成功或者失败的结果 使用通过微信批次单号查询批次单和通过微信明细单号查询明细单接口进行转账结果查询,发现无法即时获 ...

  10. PHP微信支付 “商家转账到零钱”一文概述

    PHP微信支付 商家转账到零钱 这里有个坑 1:转账低于5毛会失败 2:转账金额需要自己取整一下,微信官方金额是 分 为单位,换算成 元 时可能会除不尽 { "code":&quo ...

最新文章

  1. 给你的开源项目加一个绶带吧
  2. 网络犯罪分子为何针对中小企业?—Vecloud微云
  3. dnf单机无线连接服务器,dnf单机云服务器
  4. 大学哪些专业要学python_非计算机专业的大学生是否有必要学习Python编程
  5. python django开发网站项目难吗_用django开发网站时遇到的问题
  6. 需要多长时间达到一个本科毕业生刚毕业的水平。
  7. 你发这些什么目的_微信CRM系统究竟是什么?
  8. alwayson高可用组_了解AlwaysOn可用性组上的备份-第1部分
  9. 拓扑排序---AOV图
  10. Cocos2d-x学习之创建Android工程和编译
  11. 为何python不好找工作-不会Python迟早失业?Python何以成为找工作必备技能
  12. 项目记事【SpringMVC-1】:后台接收前端传来的JSON,并转成对象
  13. 常见makefile写法
  14. linux下oracle11g的安装-图文安装
  15. 80x86汇编小站站长简单介绍-2014年08月23日
  16. 企业发卡系统源码/带有代理功能发卡平台源码
  17. 深入理解 JVM 垃圾回收机制及其实现原理
  18. ubuntu20.04中安装划词翻译_支持语音录入翻译的小爱同学鼠标让智能设备控制一手掌握...
  19. 微流控芯片进样用多通道正负压力控制器的解决方案
  20. Redmi 游戏电视 X Pro 评测

热门文章

  1. qq邮箱绑定重庆大学邮箱服务器,电子邮箱常见问题
  2. 投影相机,透视相机,弱透视相机和仿射相机的区别和联系
  3. 什么是前后端分离技术?
  4. (SWAT-1)SWAT进行流域提取
  5. hdu 6184 Counting Stars
  6. js 实现60秒倒计时
  7. 修改或删除脚注或尾注的“横线”
  8. 使用cmd命令行netsh wlan创建wifi热点
  9. 植物大战僵尸的简单修改
  10. Elasticsearch文档内部的父子关系