model層,wechat.php:
<?php
use think\cache;
class wechat extends model
/** 企業付款到銀行卡介面
* @params string $out_trade_no : 商戶訂單號
* @params int $amount : 付款金額,單位分
* @params string $enc_bank_no : 收款方銀行卡號
* @params string $enc_true_name : 收款方使用者名稱
* @params string $bank_name : 收款方開戶行,根據銀行名稱獲取銀行編號bank_code
* @params string $desc : 付款備註
* return string $payment_no :支付成功的訂單號
*/public function payforbank($out_trade_no,$amount,$enc_bank_no,$enc_true_name,$bank_name,$desc='企業付款到銀行卡')
else
} /*
* 查詢付款到銀行卡狀態
* @params string $out_trade_no : 商戶訂單號
* return array $ret:查詢狀態
* */
public function querybank($out_trade_no)
else
} /*
* 銀行編號列表,詳情參考:
* @params string $bank_name : 銀行名稱,4個漢字
* return int $bank_code : 銀行編碼
* */
private function getbankcode($bank_name)
return $bank_code;
} /**
* 公鑰加密,銀行卡號和姓名需要rsa演算法加密
* @param string $data 需要加密的字串,銀行卡/姓名
* @return null|string 加密後的字串
*/private function publicencrypt($data)
else
} /*
* 獲取公鑰,格式為pkcs#1 轉pkcs#8
* openssl rsa -rsapublickey_in -in -out * */
private function get_pub_key()
else
}else
} /*
* 發起post網路請求
* @params string $url : 請求的url鏈結位址
* @params string $data : 資料報
* @params bool $ssl : 是否載入證書
* return array $result : 返回的資料結果
} //對引數排序,生成md5加密簽名
private function getparam($paramarray, $isencode=false)
if ($i == 0)else
$paramstr .= $key . '=' . ($isencode?urlencode($value):$value);
++$i;
}$stringsigntemp=$paramstr."&key=".$this->key;
$sign=strtoupper(md5($stringsigntemp));
return $sign;
} /*
* 將xml轉換成陣列
* @params xml $xml : xml資料
* return array $data : 返回陣列
*/private function xmltoarray($xml)
/** 隨機字串
* @param int $length 長度
* @param string $type 型別
* @param int $convert 轉換大小寫 1大寫 0小寫
* @return string
*/private function random($length=10,$type='letter',$convert=false)
; }
if(!empty($convert))
return $code;
} /*
* 日誌記錄
* @params string $msg : 文字描述
* @params array $ret : 呼叫介面返回的陣列
*/private function errorlog($msg,$ret)
}
controller控制層呼叫,wxpay.php
<?php
class wxpay extends controller
else
}}
參考:
五、注意事項
1、獲取的rsa為pkcs1格式需要轉成pkcs8,需要執行以下命令
$out_put_filename :轉換成pkcs8後的檔案儲存路徑
openssl rsa -rsapublickey_in -in -out
2.用控制器呼叫get_pub_key獲得公鑰
3.再從命令列輸入命令
配置正確,付款成功
微信商戶提現到銀行卡 親測有效
親測有效大家試試 獲取公鑰,格式為pkcs 1 轉pkcs 8 openssl rsa rsapublickey in in pubkey.pem pubout newpubkey.pem function get pub key else 企業付款到銀行卡 function paybank els...
銀行卡賬戶資金變動 部分銀行取消微信提醒
廈門晚報 2016 03 08 16 54 海峽 電子版 感覺最近銀行卡賬戶有變動,微信 都沒有及時提醒了。近日,市民周先生發現,自己關注的發卡銀行的微信 已 沉寂 了一段時間,起先他還以為是銀行在春節期間進行除錯,可查詢記錄後才發現,從2月初到現在都沒收到賬戶變動提醒。記者了解到,周先生銀行卡的發...
微信支付 二 企業付款到使用者銀行卡
申請詳細介紹位址參考 wxpayconfig參考位址 mapreqdata newhashmap reqdata.put nonce str 隨機字串 隨機字串,不長於32位 reqdata.put partner trade no 商戶訂單號,需保持唯一性 只能是字母或者數字,不能包含有其他字元 ...