1. 程式人生 > >pc網頁接入微信支付學習小結

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/', // 接收支付狀態的連線
    ),

回撥函式: