吧微信支付的範例程式碼修改成tp中直接使用的實例程式碼,並簡單的做了掃碼支付以及回呼功能
吧微信支付的範例程式碼修改成tp中直接使用的範例程式碼,並簡單的做了掃碼支付以及回呼功能
用的是模式2,有必要你可以直接拿模式一的程式碼執行就可以的。
類別的導入看一下我的導入你就明白怎麼導入了。以後再也不用擔心這個玩意兒了。
程式碼參考如下
產生支付二維碼的實例代碼:public function index() {<br>
import ( "@.Controller.WxPay.WxPayNativePay" );<br>
$notify = new WxPayNativePay ();<br>
$url1 = $notify->GetPrePayUrl ( "123456789" );<br>
// 模式二<br>
/**<br>
* 流程:<br>
* 1、呼叫統一下單,取得code_url,產生二維碼<br>
* 2、使用者掃描二維碼,且進行付款<br>
* 3、付款完成後,微信伺服器會通知付款成功<br>
* 4、在付款成功通知中需要查單確認是否是否真正支付成功(請參閱:notify.php)<br>
* @作者 希瓦柯<br>
* @時間 2016-9-22下午3:41:59<br>
*/<br>
// $price = $_POST ['price'];<br>
// $prodect_id = $_POST ['prodect_id'];<br>
// $premission_name = $_POST ['premission_name'];<br>
$price = 0.01;<br>
$prodect_id = rand ( 2, 8 );<br>
$premission_name = $prodect_id;<br>
// 開始處理<br>
$input = new WxPayUnifiedOrder ();<br>
$input->SetBody ( "xxxx---" . $premission_name );<br>
$input->SetAttach ( "xxxxx-Attach" );<br>
$input->SetOut_trade_no ( WxPayConfig::MCHID . date ( "YmdHis" ) );<br>
$input->SetTotal_fee ( $price * 100 );<br>
$input->SetTime_start ( date ( "YmdHis" ) );<br>
$input->SetTime_expire ( date ( "YmdHis", time () + 600 ) );<br>
$input->SetGoods_tag ( "xxx-tag" );<br>
$input->SetNotify_url ( "http://xxxx.com/wxtest/index.php/home/Index/notify" );<br>
$input->SetTrade_type ( "NATIVE" );<br>
$input->SetProduct_id ( rand ( 4, 8 ) );<br>
$result = $notify->GetPayUrl ( $input );<br>
$url2 = $result ["code_url"];<br>
// 產生二維碼<br>
error_reporting ( E_ERROR );<br>
import ( "@.Controller.WxPay.PHPQRCODE" );<br>
$url = urldecode ( $url2 );<br>
QRcode::png ( $url );<br> }
微信支付回呼處理的實例代碼:/**<br>
* @功能說明:微信支付回呼處理<br>
* @作者 希瓦柯<br>
* @時間 2016-9-22下午3:41:59<br>
*/<br>
public function notify() {<br>
// 取得微訊號回呼的資料<br>
$notifiedData = $GLOBALS ['HTTP_RAW_POST_DATA'];<br>
// 負載相關的類別<br>
import ( "@.Controller.WxPay.WxPayNativePay" );<br>
import ( "@.Controller.WxPay.WxPayData" );<br>
import ( "@.Controller.WxPay.WxPayNotify" );<br>
import ( "@.Controller.WxPay.PayNotifyCallBack" );<br>
$xml_to_arr = WxPayDataBase::FromXml_4_babbage ( $notifiedData );<br>
// 轉入陣列 並寫入快取<br>
F ( "wx_notified_data", $xml_to_arr);<br>
// 吧xml原型也寫入xml<br>
F ( "wx_notified_data_xml", $notifiedData );<br>
<br>
// 給微信回傳支付狀態值<br>
$notify = new PayNotifyCallBack ();<br>
// 返回狀態<br>
$notify->Handle ( false );<br>
}
希望像我這樣技術較弱的同行幫助
wxpay4tp.zip ( 1.25 MB 下載:8 次 )