pc網頁接入微信支付學習小結
1.前臺頁面
$random = time() . rand(10000, 99999);
後臺程式碼:
點選提交後進入微信掃碼頁面:
後臺程式碼:
if (IS_POST) {
$body = I("request.WIDsubject");//會員充值
$total_fee = I("request.WIDtotal_fee");//分為單位(充值金額)
$out_trade_no = I("request.WIDout_trade_no");//訂單編號
$product_id = 1;//固定
前臺程式碼:
生成二維碼:
<img class="erweima" src="__ROOT__/index.php/Home/User/weichat/WIDsubject/{$body}/WIDtotal_fee/{$total_fee}/WIDout_trade_no/{$out_trade_no}">
請開啟微信使用掃一掃進行微信支付
處理二維碼的程式碼:
function weixinpay($order)
{
$order['trade_type'] = 'NATIVE';
Vendor('Weixinpay.Weixinpay');
$weixinpay = new \Weixinpay();
$weixinpay->pay($order);
}
public function pay($order){
$result=$this->unifiedOrder($order);//統一下單
$decodeurl=urldecode($result['code_url']);//解碼
qrcode($decodeurl);//生成二維碼
}
//生成二維碼
function qrcode($url, $size = 4)
{
Vendor('phpqrcode.phpqrcode');
QRcode::png($url, false, QR_ECLEVEL_L, $size, 2, false, 0xFFFFFF, 0x000000);
}
定時間隔查詢訂單狀態(查詢非同步操作訂單狀態是否完成修改):
配置檔案,配置非同步回撥函式:
'WEIXINPAY_CONFIG' => array(
'APPID' => 'aaa', // 微信支付APPID
'MCHID' => 'bbbb', // 微信支付MCHID 商戶收款賬號
'KEY' => 'cccc', // 微信支付KEY
'APPSECRET' => '', //公眾帳號secert
'NOTIFY_URL' => '公網能訪問到的域名/Home/Weixinpay/notify/', // 接收支付狀態的連線
),
回撥函式: