php微信支付之APP支付方法

2022-03-07 08:07:33 字數 2646 閱讀 4590

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 ...