?php //微信支付 * 適用于微信所有支付, 掃碼支付 小程序支付 二維碼的需要接入生成二維碼的代碼,這個可以共用* xml 根據文檔自行刪改, 共用微信統一下單dome html' target='_blank'>class Payapi 統一下單 public function Pay($orderid,$total_fee){ 參數是訂單號 加金額, 可以改動, $fee = $total_fee;//舉例充值0.01 $appid = //如果是公眾號 就是公眾號的appid $body = 名字 $mch_id = 商戶號 $nonce_str = $this- nonce_str();//隨機字符串 $notify_url = 回調地址 $out_trade_no = $orderid;//商戶訂單號 $spbill_create_ip = 主機ip $total_fee = $fee*100;//因為充值金額最小是1 而且單位為分 如果是充值1元所以這里需要*100 $trade_type = NATIVE //交易類型 默認
//這里是按照順序的 因為下面的簽名是按照順序 排序錯誤 肯定出錯 $post[ appid ] = $appid; $post[ body ] = $body; $post[ mch_id ] = $mch_id; $post[ nonce_str ] = $nonce_str;//隨機字符串 $post[ notify_url ] = $notify_url; // $post[ openid ] = $openid; $post[ out_trade_no ] = $out_trade_no; $post[ spbill_create_ip ] = $spbill_create_ip;//終端的ip $post[ total_fee ] = $total_fee;//總金額 最低為一塊錢 必須是整數 $post[ trade_type ] = $trade_type; $sign = $this- sign($post);//簽名 $post_xml = xml appid .$appid. /appid body .$body. /body mch_id .$mch_id. /mch_id nonce_str .$nonce_str. /nonce_str notify_url .$notify_url. /notify_url openid .$openid. /openid out_trade_no .$out_trade_no. /out_trade_no spbill_create_ip .$spbill_create_ip. /spbill_create_ip total_fee .$total_fee. /total_fee trade_type .$trade_type. /trade_type sign .$sign. /sign /xml //統一接口prepay_id $url = https://api.mch.weixin.qq.com/pay/unifiedorder $xml = $this- http_request($url,$post_xml); $array = $this- xml($xml);//全要大寫 if($array[ RETURN_CODE ] == SUCCESS $array[ RESULT_CODE ] == SUCCESS ){ $time = time(); $tmp= //臨時數組用于簽名 $tmp[ appId ] = $appid; $tmp[ nonceStr ] = $nonce_str; $tmp[ package ] = prepay_id= .$array[ PREPAY_ID $tmp[ signType ] = MD5 $tmp[ timeStamp ] = $time $data[ state ] = 1; $data[ timeStamp ] = $time //時間戳 $data[ nonceStr ] = $nonce_str;//隨機字符串 $data[ signType ] = MD5 //簽名算法,暫支持 MD5 $data[ package ] = prepay_id= .$array[ PREPAY_ID //統一下單接口返回的 prepay_id 參數值,提交格式如:prepay_id=* $data[ paySign ] = $this- sign($tmp);//簽名,具體簽名方案參見微信公眾號支付幫助文檔; $data[ out_trade_no ] = $out_trade_no; $data[ CODE_URL ] =$array[ CODE_URL }else{ $data[ state ] = 0; $data[ text ] = 錯誤 $data[ RETURN_CODE ] = $array[ RETURN_CODE $data[ RETURN_MSG ] = $array[ RETURN_MSG return json_encode($data);
private function order_number($openid){ // date( Ymd ,time()).time().rand(10,99);//18位 return md5($openid.time().rand(10,99));//32位
$wx_key = //申請支付后有給予一個商戶賬號和密碼,登陸后自己設置key $stringSignTemp = $stringA. key= .$wx_key;//申請支付后有給予一個商戶賬號和密碼,登陸后自己設置key return strtoupper(md5($stringSignTemp)); //curl請求啊 function http_request($url,$data = null,$headers=array()) $curl = curl_init(); if( count($headers) = 1 ){ curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
獨孤九賤(5)_ThinkPHP5視頻教程ThinkPHP是國內最流行的中文PHP開發框架,也是您Web項目的最佳選擇?!禫eVb.com獨孤九賤(5)-ThinkPHP5視頻教程》課程以ThinkPHP5最新版本為例,從最基本的框架常識開始,將...
Peter-Zhu 2017-05-16 12:03:57
獨孤九賤(4)_PHP視頻教程江湖傳言:PHP是世界上最好的編程語言。真的是這樣嗎?這個梗究竟是從哪來的?學會本課程,你就會明白了。PHP 出品的PHP入門系統教學視頻,完全從初學者的角度出發,絕不玩虛的,一切以實用、有用...
Peter-Zhu 2017-03-20 22:47:17
獨孤九賤(1)_HTML5視頻教程《VeVb.com原創html5視頻教程》課程特色:php 原創幽默段子系列課程,以惡搞,段子為主題風格的php視頻教程!輕松的教學風格,簡短的教學模式,讓同學們在不知不覺中,學會了HTML知識。...
Peter-Zhu 2017-03-13 10:15:11
ThinkPHP5實戰之[教學管理系統]本套教程,以一個真實的學校教學管理系統為案例,手把手教會您如何在一張白紙上,從零開始,一步一步的用ThinkPHP5框架快速開發出一個商業項目。
Peter-Zhu 2017-07-24 16:48:56
PHP入門視頻教程之一周學會PHP所有計算機語言的學習都要從基礎開始,《PHP入門視頻教程之一周學會PHP》不僅是PHP的基礎部分更主要的是PHP語言的核心技術,是學習PHP必須掌握的內容,任何PHP項目的實現都離不開這部分的內容,通...
PHP教程鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答