版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第php實現(xiàn)微信企業(yè)轉賬功能*KEY:商戶支付密鑰,參考開戶郵件設置(必須配置,登錄商戶平臺自行設置)
*設置地址:/index.php/account/api_cert
constAPPID='';
constMCHID='';
constKEY='';
//=======【證書路徑設置】=====================================
/**
*TODO:設置商戶證書路徑
*證書路徑,注意應該填寫絕對路徑,發(fā)送紅包和查詢需要,可登錄商戶平臺下載
*API證書下載地址:/index.php/account/api_cert,下載之前需要安裝商戶操作證書)
*@varpath跟這個文件同一目錄下的cert文件夾放置證書!?。?!
constSSLCRET12='cert/apiclient_cert.p12';
constSSLCERT_PATH='cert/apiclient_cert.pem';
constSSLKEY_PATH='cert/apiclient_key.pem';
constSSLROOTCA='cert/rootca.pem';
//=======【證書路徑設置】=====================================
/**
*獲取文件的路徑,證書需要完整路徑
*@returnstring
publicstaticfunctiongetRealPath(){
return__DIR__.'/';
微信企業(yè)轉賬工具類:
php
require_once"WxTransfers.Config.php";
*微信企業(yè)轉賬工具類
classWxTransfers
//企業(yè)轉賬請求地址
constTRANSFERS_URL='/mmpaymkttransfers/promotion/transfers';
//獲取轉賬信息地址
constGETINFO_URL='/mmpaymkttransfers/gettransferinfo';
//轉賬需要的配置'wxappid','mch_id','key'
private$_keys;
//轉賬需要的證書文件'api_cert','api_key','rootca',請傳入絕對路徑?。?!
private$_cert;
protected$log_file;
public$error;
//相關配置必備參數(shù)
protected$_parameters=array();
//最后一次生產(chǎn)的訂單號
protected$_lastPartnerTradeNo;
//記錄最后一次發(fā)送請求的結果對象
protected$_lastResult;
//最后一次隨機數(shù)
protected$_lastRandNum;
publicfunction__construct($config)
$keys=array(
'wxappid',
'mch_id',
'key'
$files=array(
'api_cert',
'api_key',
'rootca'
foreach($keysas$key){
try{
$this-_keys[$key]=$config[$key];
}catch(Exception$e){
thrownewException('參數(shù)缺失:'.$key);
foreach($filesas$file){
try{
$cret_file=$config[$file];
if(is_file($cret_file)){
$this-_cert[$file]=$cret_file;
}catch(Exception$e){
thrownewException('證書錯誤');
publicfunctiontransfers($parameters){
$this-log($parameters,'SEND_PARAM');
$this-setParameter('mchid',$this-_keys['mch_id']);
$this-setParameter('mch_appid',$this-_keys['wxappid']);
$must=array(
'openid',
'check_name',
're_user_name',
'amount',
'desc',
'spbill_create_ip',
foreach($mustas$key){
if(isset($parameters[$key])$parameters[$key]){
$this-setParameter($key,$parameters[$key]);
}else
if(!isset($this-_parameters[$key])||!$this-_parameters[$key]){
$this-error='參數(shù)缺損:'.$key;
returnfalse;
if(!isset($parameters['partner_trade_no'])){
$parameters['partner_trade_no']=$this-getPartnerTradeNo();
$this-setParameter('partner_trade_no',$parameters['partner_trade_no']);
$this-setParameter('nonce_str',$this-getRand(30,3));
$postXml=$this-_createXml();
if(!$postXml){
returnfalse;
$this-log($postXml,'SEND_XML');
$result=$this-curl_post_ssl(self::TRANSFERS_URL,$postXml);
$this-log($result,'RESULT_XML');
if(!$result){
returnfalse;
$resultObj=simplexml_load_string($result,'SimpleXMLElement',LIBXML_NOCDATA);
$this-_lastResult=$resultObj;
if($resultObj-return_code=='SUCCESS'){//成功標識
if($resultObj-result_code=='SUCCESS'){
return$resultObj-send_listid;
if($resultObj-return_msg){
$this-error=(string)$resultObj-return_msg;
returnfalse;
$this-error=(string)$resultObj-err_code_des;
returnfalse;
if($resultObj-return_code!='FAIL'){
$this-error='返回信息格式異常';
returnfalse;
$this-error=(string)$resultObj-return_msg;
returnfalse;
/**
*獲取轉賬信息
*@paramunknown$partner_trade_no
*@returnboolean|SimpleXMLElement
publicfunctiongetInfo($partner_trade_no){
$param=array(
'nonce_str'=$this-getRand(30,3),
'partner_trade_no'=$partner_trade_no,
'mch_id'=$this-_keys['mch_id'],
'appid'=$this-_keys['wxappid'],
ksort($param);
$unSignParaString=$this-_formatQueryParaMap($param,false);
$param['sign']=$this-_sign($unSignParaString,$this-_keys['key']);
$xml=$this-arrayToXml($param);
$this-log($xml,'GETINFO_XML');
$result=$this-curl_post_ssl(self::GETINFO_URL,$xml);
if(!$result){
returnfalse;
$this-log($result,'RESULT_XML');
$resultObj=simplexml_load_string($result,'SimpleXMLElement',LIBXML_NOCDATA);
$this-_lastResult=$resultObj;
if($resultObj-return_code=='SUCCESS'){//成功標識
if($resultObj-result_code=='SUCCESS'){
return$resultObj;
if($resultObj-return_msg){
$this-error=$resultObj-return_msg;
returnfalse;
$this-error=$resultObj-err_code_des;
returnfalse;
if($resultObj-return_code!='FAIL'){
$this-error='返回信息格式異常';
returnfalse;
$this-error=$resultObj-return_msg;
returnfalse;
/**
*設置所需要的參數(shù)
*@param$parameter鍵值數(shù)組/鍵
*@param$value值
*@returnWxBonusApi
publicfunctionsetParameter($parameter,$value=null)
if(!is_array($parameter)){
return$this-setParameter(array(
$parameter=$value
));
foreach($parameteras$key=$value){
$key=trim($key);
$value=trim($value);
$this-_parameters[$key]=$value;
return$this;
/**
*獲取參數(shù)值
*@param$parameter鍵名
*@returnmultitype:
publicfunctiongetParameter($parameter)
return$this-_parameters[$parameter];
/**
*獲取隨機數(shù)
*@paramnumber$len隨機數(shù)的位數(shù)
*@paramnumber$type取值范圍1表示數(shù)字2小寫字母4大寫字母
*@returnstring
publicfunctiongetRand($len=30,$type=0)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年環(huán)境評估(土壤環(huán)境質量評估)試題及答案
- 2025年中職(醫(yī)學檢驗)血常規(guī)檢測實務綜合測試題及答案
- 2025年大學(測繪科學與技術專業(yè))地理信息系統(tǒng)基礎試題及答案
- 2025年大學第四學年(工程項目融資)融資方案設計階段測試題及答案
- 2025年大學美術學(美術學概論)試題及答案
- 2025年大學安全教育(交通安全知識)試題及答案
- 2025年中職(市場開發(fā)實務)客戶開發(fā)流程階段測試試題及答案
- 2025年中職船舶工程技術(船舶建造工藝)試題及答案
- 2025年中職道路橋梁工程技術(路橋施工技術)試題及答案
- 2025年大學臨床醫(yī)學(臨床診療技術)試題及答案
- LY/T 3408-2024林下經(jīng)濟術語
- 2025年湖南邵陽市新邵縣經(jīng)濟開發(fā)區(qū)建設有限公司招聘筆試參考題庫附帶答案詳解
- ICH《M10:生物分析方法驗證及樣品分析》
- 國家開放大學電大24210丨學前兒童科學教育活動指導(統(tǒng)設課)期末終考題庫
- 【讀后續(xù)寫】2021年11月稽陽聯(lián)考讀后續(xù)寫講評:Saving the Daisies 名師課件-陳星可
- 教育培訓班項目可行性研究報告
- 人參健康食品營銷策劃
- 2024年人參項目營銷策劃方案
- 工會職工大會制度實施細則范本
- ups拆除施工方案
- GB/T 21196.4-2007紡織品馬丁代爾法織物耐磨性的測定第4部分:外觀變化的評定
評論
0/150
提交評論