国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > ASP > 正文

php實現微信企業號支付個人的方法詳解

2024-05-04 10:59:16
字體:
來源:轉載
供稿:網友

本文實例講述了php實現微信企業號支付個人的方法。,具體如下:

導語:分銷商,微商提現怎么提?

直接用微信支付。

實現如下:

微信支付配置

/*微信支付*/  'PAY_WEIXIN'        => array(    'appid'         => 'XXXX',    'appsecret'       => 'XXXXXXX',    'mchid'         => '1283301801',                        //商戶號    'key'          => 'zhudianbaodiandodozhudianbao0527',             //商戶支付秘鑰    'apiclient_cert'    => 'Conf/cert/apiclient_cert.pem',               //商戶證書apiclient_cert.pem    'apiclient_key'     => 'Conf/cert/apiclient_key.pem',                //商戶證書apiclient_key.pem  )

arrayToXml

/*** array轉xml*/function arrayToXml($arr){  $xml = "<xml>";  foreach ($arr as $key=>$val)  {    if (is_numeric($val))    {        $xml.="<".$key.">".$val."</".$key.">";    }    else    $xml.="<".$key."><![CDATA[".$val."]]></".$key.">";  }  $xml.="</xml>";  return $xml;}

使用證書,以post方式提交xml到對應的接口url

/***  作用:使用證書,以post方式提交xml到對應的接口url*/function postXmlSSLCurl($xml, $url, $second, $cert, $key){    $ch = curl_init();    //超時時間    curl_setopt($ch,CURLOPT_TIMEOUT,$second ? $second : $this->timeout);    //這里設置代理,如果有的話    //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);    //設置證書    //使用證書:cert 與 key 分別屬于兩個.pem文件    //默認格式為PEM,可以注釋    curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');    curl_setopt($ch,CURLOPT_SSLCERT,$cert);    //默認格式為PEM,可以注釋    curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');    curl_setopt($ch,CURLOPT_SSLKEY, $key);    //post提交方式    curl_setopt($ch,CURLOPT_POST, true);    curl_setopt($ch,CURLOPT_POSTFIELDS,$xml);    $data = curl_exec($ch);    //返回結果    if($data){      curl_close($ch);      return $this->xmlToArray($data);    }    else {      $error = curl_errno($ch);      echo "curl出錯,錯誤碼:$error"."<br>";      curl_close($ch);      return false;    }}

企業向個人付款

//企業向個人付款public function payToUser($params, $key, $apicent_cert, $apiclient_key) {    $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers';    //檢測必填參數    if($params["partner_trade_no"] == null) {  //      exit("退款申請接口中,缺少必填參數partner_trade_no!"."<br>");    }elseif($params["openid"] == null){      exit("退款申請接口中,缺少必填參數openid!"."<br>");    }elseif($params["check_name"] == null){       //NO_CHECK:不校驗真實姓名 FORCE_CHECK:強校驗真實姓名(未實名認證的用戶會校驗失敗,無法轉賬)OPTION_CHECK:針對已實名認證的用戶才校驗真實姓名(未實名認證用戶不校驗,可以轉賬成功)      exit("退款申請接口中,缺少必填參數check_name!"."<br>");    }elseif(($params["check_name"] == 'FORCE_CHECK' or $params["check_name"] == 'OPTION_CHECK') && ($params["re_user_name"] == null)){ //收款用戶真實姓名。      exit("退款申請接口中,缺少必填參數re_user_name!"."<br>");    }elseif($params["amount"] == null){      exit("退款申請接口中,缺少必填參數amount!"."<br>");    }elseif($params["desc"] == null){      exit("退款申請接口中,缺少必填參數desc!"."<br>");    }    $params["mch_appid"] = $this->appid;//公眾賬號ID    $params["mchid"] = $this->mchid;//商戶號    $params["nonce_str"] = $this->createNoncestr();//隨機字符串    $params['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'] == '::1' ? '192.127.1.1' : $_SERVER['REMOTE_ADDR'];//獲取IP    $params["sign"] = $this->getSign($params, $key);//簽名    $xml = $this->arrayToXml($params);    return $this->postXmlSSLCurl($xml, $url, false, $apicent_cert, $apiclient_key);}            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 哈尔滨市| 安阳县| 于田县| 马边| 和硕县| 湖北省| 通山县| 荥经县| 秦皇岛市| 神农架林区| 衡南县| 慈溪市| 株洲市| 宝坻区| 宁明县| 龙山县| 温宿县| 武宁县| 井陉县| 汾西县| 同德县| 敦化市| 贡嘎县| 神农架林区| 太白县| 绥江县| 慈溪市| 井研县| 南汇区| 青岛市| 瑞安市| 崇信县| 衡山县| 西盟| 恩平市| 会宁县| 阿拉善右旗| 芒康县| 天长市| 渑池县| 天长市|