企业微信退款多久到账(php实现微信企业付款到零钱,常用于用户提现自动到账)

前言:用户账户余额申请提现,平台批准线下支付。这一步相当复杂。如果你的小程序已经使用了90天以上,并且连续30天有交易,那么你可以开启企业支付的功能来换。你只需要在后台核对并支付,提现金额就会自动转到用户的零钱里。请迅速喜欢你的收藏。


接口文档

文件地址:https://pay.weixin.qq.com/wiki/doc/api/index.html



微信商户平台开通企业付款到零钱









我的小程序暂时没有开通的资格。虽然已经连续交易了30多天,但是仅仅入住了40天。

代码

打开产品的条件不能满足,但是代码已经对接。满足条件后才能使用。有需要的朋友可以直接复制下面的代码。

& lt?PHP /* * * * @作者:李东 * @ day: 2021/12/01 *微信支付换 */ 。 使用thinkfacadeDb class WxpayToCash { 公共函数pay($openid,$ money){ $ we chat = SystemConfigService::more([& # 39;pay _ routine _ appid & # 39, 'pay _ routine _ appsecret & # 39, 'pay _ routine _ mchid & # 39, 'pay _ routine _ key & # 39, 'pay _ routine _ client _ cert & # 39, 'pay _ routine _ client _ key & # 39]); $ API client _ cert = dirname(dirname(dirname(_ _ FILE _ _))。"/public & # 34;。$微信[& # 34;pay _ routine _ client _ cert & # 34]; $ API client _ key = dirname(dirname(dirname(_ _ FILE _ _))。"/public & # 34;。$微信[& # 34;pay _ routine _ client _ key & # 34]; $ pay _ routine _ key = $ we chat[& # 34;支付_常规_关键& # 34;]; //通过微信api退款流程 $ parma = array( & # 39;mch _ appid & # 39= & gt$微信[& # 34;pay _ routine _ appid & # 34],//商户账号的appid申请商户号的appid或者商户号绑定的appid & # 39;麦克希德& # 39;= & gt$微信[& # 34;pay _ routine _ mchid & # 34],//商品编号。微信支付分发的商户号 & # 39;nonce _ str & # 39= & gt$ this-& gt;getnon castr(10),// random string随机字符串,长度不超过32位 & # 39;partner _ trade _ no & # 39= & gt$ this-& gt;getnon castr(11)。"YmdHis & # 34。rand(1000,9999),//商户订单号,需要唯一 & # 39;openid & # 39= & gt$openid,// User openid openid是微信官方账号appid & # 39;check _ name & # 39= & gt"NO _ CHECK & # 34,//检查用户名选项NO_CHECK:不检查实名FORCE_CHECK:强查实名 & # 39;金额& # 39;= & gt(int) ($money*100),//支付金额,单位为美分 & # 39;desc & # 39;= & gt"微信支付找零& # 34;,//支付备注 ); $帕尔马[& # 39;标志& # 39;]= $ this-& gt;MakeSign($parma,$ pay _ routine _ key);//Signature $ XML data = $ this-->;data _ to _ XML($ parma); $ XML result = $ this-& gt;postxmlslcurl($ XML data,& # 39;https://API . mch . weixin . QQ . com/mmpaymkttransfers/promotion/transfers & # 39;,30,$apiclient_cert,$ API client _ key); $ result = $ this-& gt;XML to array($ XML result); if($result[& # 39;return _ code & # 39] == '成功& # 39;& & $ result[& # 39;return _ msg & # 39] == '好& # 39;& & $ result[& # 39;结果代码& # 39;] == '成功& # 39;){ return[& # 34;代码& # 34;= & gt200,"消息& # 34;= & gt"成功& # 34;]; } else { return[& # 34;代码& # 34;= & gt100,"消息& # 34;= & gt$ result[& # 34;err _ code _ des & # 34]]; } } /* * *生成一个随机字符串,长度不超过32位 * @ param int $ length * @ return abcdefghijklmnopqrstuvwxyz 0123456789 & # 34;; $ str = & # 34;"; for($ I = 0;$ i & lt$长度;$i++ ) { $str。= substr($chars,mt_rand(0,strlen($chars)-1),1); } return $ str; } /请求要求证书 函数postxmlslcurl($ XML,$ URL,$ second = 30,$ apiclient _ cert,$ API client _ key) {[/h //time out curl _ set opt($ ch,curl opt _ timeout,$ second); //在这里设置代理,如果有的话 //curl _ setopt ($ ch,curl opt _ proxy,& # 39;8.8.8.8'); //curl_setopt($ch,CURLOPT_PROXYPORT,8080); curl_setopt($ch,CURLOPT_URL,$ URL); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); //设置头 curl _ setopt ($ ch,curl opt _ header,false); //要求结果为字符串并输出到屏幕 curl _ setopt ($ ch,curl opt _ return transfer,true); //设置证书 /使用证书:cert和key分属两个。pem文件分别 //默认格式为PEM,可以注释 curl _ setopt ($ ch,curl opt _ sslcerttype,& # 39;PEM & # 39); curl_setopt($ch,CURLOPT_SSLCERT,$ API client _ cert); //默认格式是PEM,可以注释 curl _ setopt ($ ch,curl opt _ SSL keytype,& # 39;PEM & # 39); curl_setopt($ch,CURLOPT_SSLKEY,$ API client _ key); //post提交方法 curl _ setopt ($ ch,curl opt _ post,true); curl_setopt($ch,CURLOPT_POSTFIELDS,$ XML); $ data = curl _ exec($ ch); //返回结果 if($ data){ curl _ close($ ch); 返回$ data } else { $ error = curl _ errno($ ch); echo & # 34;Curl错误,错误代码:$ error & # 34。"& ltbr & gt"; curl _ close($ ch); 返回false } } /* * *生成签名 * @返回签名 */ 公共函数签名($ $ string = $ this-& gt;ToUrlParams($ params); //签名第二步:在字符串后添加key $ string = $ string。&# 34;& key = & # 34。$ pay _ routine _ key //echo $ string; /签名第三步:MD5加密 $ string = MD5($ string); //签名第四步:所有字符大写 $ result = strtop($ string); 返回$ result } /** *将参数拼接成URL:key = value & key = value * @ param $ params * @ return string */ 公共函数& # 39;; 如果(!empty($ params)){ $ array = array(); foreach($ params as $ key = & gt;$value ){ $array[] = $key。'='。$ value } $string =内爆(& # 34;&",$ array); } return $ string; } /** *输出xml字符 * @param $params参数名 *返回字符串返回组装的XML * */ 公共函数data _ to _ XML(is _ array($ params)| | count($ params)& lt;= 0) { 返回false } $ XML = & # 34;& ltxml & gt"; foreach($ params as $ key = & gt;$ val) { if(is _ numeric($ val)){ $ XML。="& lt"。$key。"& gt"。$瓦尔。"& lt/"。$key。"& gt"; }else{ $xml。="& lt"。$key。"& gt& lt![CDATA[& # 34;。$瓦尔。"]]& gt;& lt/"。$key。"& gt"; } } $xml。="& lt/XML & gt;"; return $ XML; } 公共函数XML to array($ XML _ data){ return JSON _ decode(JSON _ encode(SimpleXML _ load _ string($ XML _ data,& # 39;SimpleXMLElement & # 39,LIBXML_NOCDATA)),true); } }业务场景用户申请提现



平台审计



总结一下

以上是微信企业付费换零钱的具体操作流程。

我是一个小程序软件开发者。我每天都分享开发过程中遇到的知识点。如果对你有帮助,请在你走之前给我一个赞。谢谢您们。

微信退款多久到账

往期文章分享:

接口中的api是get还是post请求的?

小程序实现下拉刷新,上拉加载,代码可以直接重用,拿走不用谢。

您可以还会对下面的文章感兴趣

使用微信扫描二维码后

点击右上角发送给好友