wechatapppay檔案**如下:
<?php namespace common\services\wechatpay;
class wechatapppay extends wechatpaybase
/*** 建立app支付最終返回引數
* @throws \exception
* @return multitype:string null
*/public function createapppaydata()
catch(\exception $e)
return $array;
}/**
* 驗證支付成功後的通知引數
* * @throws \exception
* @return boolean
*/public function verifynotify()
catch(\exception $e)
}/**
* 魔術方法,給新增支付引數進來
* * @param string $name 引數名
* @param string $value 引數值
*/public function __set($name, $value)
/*** 設定access token
* @param string $token
* @throws \exception
* @return boolean
*/public function setaccesstoken()
$content = file_get_contents($this->file);
if(!empty($content))
}//檔案內容為空或access token已失效,重新獲取
$this->outputaccesstokentofile();
} catch(\exception $e)
return true;
}/**
* 寫入access token 到檔案
* @throws \exception
* @return boolean
*/protected function outputaccesstokentofile()
catch(\exception $e)
return true;
}/**
* 取access token
* * @throws \exception
* @return string
*/protected function getaccesstoken()
");}
return $result['access_token'];
}/**
* 取預支付會話標識
* * @throws \exception
* @return string
*/protected function getprepayid()
if( !isset($result['prepayid']) )
return $result['prepayid'];
}/**
* 組裝預支付引數
* * @throws \exception
*/protected function generateconfig()
catch(\exception $e)
}/**
* 生成package欄位
* * 生成規則:
* 1、生成sign的值signvalue
* 2、對package引數再次拼接成查詢字串,值需要進行urlencode
* 3、將sign=signvalue拼接到2生成的字串後面得到最終的package字串
* * 第2步urlencode空格需要編碼成%20而不是+
* * rfc 1738會把 空格編碼成+
* rfc 3986會把空格編碼成%20
* * @return string
*/protected function generatepackage()
/*** 生成簽名
* * @return string
*/protected function generatesign()
/*** 簽名資料
* * 生成規則:
* 1、字典排序,拼接成查詢字串格式,不需要urlencode
* 2、上一步得到的字串最後拼接上key=paternerkey
* 3、md5雜湊字串並轉換成大寫得到sign的值signvalue
* * @param array $data 待簽名資料
* @return string 最終簽名結果
*/protected function signdata($data)
";return strtoupper( $this->signmd5($str) );
}/**
* sha1簽名
* 簽名規則
* 1、字典排序
* 2、拼接查詢字串
* 3、sha1運算
* * @param array $arr
* @return string
*/protected function sha1sign($arr)
php微信支付之APP支付方法
wechatapppay檔案 如下 複製 如下 phpnamespace common services wechatpay class wechatapppay extends wechatpaybase 建立app支付最終返回引數 throws exception return multityp...
前端微信支付方法
首先上標籤 最主要的是這一行 img v if soupass true?true false src this.base finance wxpay precreate order?username this.username userid this.userid rechargeamount t...
微信支付 APP 支付方式的伺服器端處理程式
這裡只說第一點,統一下單程式。統一下單的伺服器端處理,就是要生成預支付訂單的id 除錯了一下,有一些坑,整理 如下 header content type text html charset utf 8 include config.php orderbody test商品 tade no abc ...