失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > php如何实现微信企业付款(code)

php如何实现微信企业付款(code)

时间:2019-06-02 04:24:15

相关推荐

php如何实现微信企业付款(code)

后端开发|php教程

php

后端开发-php教程

本篇文章给大家带来的内容是关于php如何实现微信企业付款(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

iosapp源码下载,vscode前端插件 画图,ubuntu的编辑器,tomcat服务未安装,sqlite的优缺点,网页设计链接伪类,可能数据库密码不对或数据库服务器出错,云服务器与vps区别,zepto 滑动插件,web前端开发常用框架,厦门爬虫店,php获取ip地址,优帮云seo,springboot描述,dede tag标签,网络资源网站,网页 表格模板,搜索网站 模板,dede后台显示空白,帝国cms聚合页面,超市信息管理系统课程设计,商城小程序源码lzw

A、封装微信企业付款类WeiXinPayToUser,如下图代码所示:

c 生成二维码 源码,vscode初始代码,容器ubuntu,tomcat限制日志,只有sqlite有锁吗,插件之家邀请码,单页前端框架 ie8,首例短视频网络爬虫,url解码 php,移动seo优化教学,网站底部版权信息代码,网页鼠标经过 音效,织梦 dedecms 更换 后台模板lzw

class WeixinPayToUser{ /*** API 参数* @var array* mch_appid # 公众号APPID* mchid # 商户号* device_info # 设备号* once_str # 随机字符串* partner_trade_no # 商户订单号* openid # 收款用户openid* check_name # 校验用户姓名选项 针对实名认证的用户* e_user_name# 收款用户姓名* amount # 付款金额* desc # 企业付款描述信息* spbill_create_ip # Ip地址* sign # 签名*/ public $parameters = []; public $SSLROOTCA_PATH=\; public $SSLCERT_PATH=\; public $SSLKEY_PATH=\; public $appid=\; public $secret=\; public $mchid=\; public $key=\;//商户密钥 public function __construct() { $this->url = https://api.mch./mmpaymkttransfers/promotion/transfers; $this->curl_timeout = 10; $this->SSLROOTCA_PATH=dirname(__FILE__)./weixin/cert/rootca.pem; $this->SSLCERT_PATH=dirname(__FILE__)./weixin/cert/apiclient_cert.pem; $this->SSLKEY_PATH=dirname(__FILE__)./weixin/cert/apiclient_key.pem; } public function setParameter($key,$value){ $this->parameters[$key]=$value; } function arrayToXml($arr,$dom=0,$item=0){ if (!$dom){ $dom = new DOMDocument("1.0"); } if(!$item){ $item = $dom->createElement("xml"); $dom->appendChild($item); } foreach ($arr as $key=>$val){ $itemx = $dom->createElement(is_string($key)?$key:"item"); $item->appendChild($itemx); if (!is_array($val)){$text = $dom->createTextNode($val);$itemx->appendChild($text); }else {$this->arrayToXml($val,$dom,$itemx); } } $dom->encoding = UTF-8; // insert proper return $dom->saveXML(); } public function getSign($paramArr){//print_r($paramArr); ksort($paramArr); $paramStr = http_build_query($paramArr); $paramStr=urldecode($paramStr); $param_temp=$paramStr.&key=.$this->key;//echo $param_temp.

; $signValue=strtoupper(md5($param_temp));//echo $signValue.

; return $signValue; } /*** 生成请求xml数据* @return string*/ public function createXml() { $this->parameters[mch_appid] = $this->appid; $this->parameters[mchid]= $this->mchid; // $this->parameters[ once_str] = md5(time()); $this->parameters[ once_str] = dddfff; $this->parameters[sign]= $this->getSign($this->parameters); $a= $this->arrayToXml($this->parameters); //echo $a; return $a; } public function pay(){ $xml=$this->createXml(); $url=$this->url; return $this->postXmlSSLCurl($xml,$url,$second=30); } /***作用:使用证书,以post方式提交xml到对应的接口url*/ function postXmlSSLCurl($xml,$url,$second=30) { $ch = curl_init(); //超时时间 curl_setopt($ch,CURLOPT_TIMEOUT,$second); //这里设置代理,如果有的话 //curl_setopt($ch,CURLOPT_PROXY, 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); //设置header curl_setopt($ch,CURLOPT_HEADER,FALSE); //要求结果为字符串且输出到屏幕上 curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); //设置证书 //curl_setopt($ch,CURLOPT_CAINFO, $this->SSLROOTCA_PATH); //使用证书:cert 与 key 分别属于两个.pem文件 //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLCERTTYPE,PEM); curl_setopt($ch,CURLOPT_SSLCERT, $this->SSLCERT_PATH); //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLKEYTYPE,PEM); curl_setopt($ch,CURLOPT_SSLKEY, $this->SSLKEY_PATH); //post提交方式 curl_setopt($ch,CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS,$xml); $data = curl_exec($ch); //返回结果 if($data){ curl_close($ch); return $data; } else { $error = curl_errno($ch); echo "curl出错,错误码:$error"."

"; echo "错误原因查询"; curl_close($ch); return false; } }}?>

B、调用WeiXinPayToUser,下图例:

网站源码交易平台下载,vscode 括号f插件,ubuntu卸载tea,确定tomcat启动成功,sqlite汇总计算精度,拼多多爬虫是什么意思呀,php y m d,放心seo网页优化推广,地方生活门户信息网站源码asp版,视频解析网站模板lzw

/*** 企业付款测试*/ public function payToUser() { $mchPay = new WeiXinPayToUser(); // 用户openid $mchPay->setParameter(openid, oy2lbszskklaslEKThrzqEziKEBzqU); // 商户订单号 $mchPay->setParameter(partner_trade_no, est-.time()); // 校验用户姓名选项 $mchPay->setParameter(check_name, NO_CHECK); // 企业付款金额 单位为分 $mchPay->setParameter(amount, 100); // 企业付款描述信息 $mchPay->setParameter(desc, 开发测试); // 调用接口的机器IP地址 自定义 $mchPay->setParameter(spbill_create_ip, 127.0.0.1); # getClientIp() // 收款用户姓名 // $mchPay->setParameter( e_user_name, Max wen); // 设备信息 // $mchPay->setParameter(device_info, dev_server); $response = $mchPay->postXmlSSL(); if( !empty($response) ) { $data = simplexml_load_string($response, null, LIBXML_NOCDATA); echo json_encode($data); }else{ echo json_encode( array( eturn_code => FAIL, eturn_msg => ransfers_接口出错, eturn_ext => array()) ); } }}

相关推荐:

微信开发企业付款 PHP代码实现

php中如何实现微信企业向用户付款的代码实例

如果觉得《php如何实现微信企业付款(code)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。