html5 調起微信支付

2021-08-02 22:24:30 字數 2345 閱讀 5767

流程圖:

下面具體說明下每個環節要做的事情。

註冊公眾平台

//伺服器介面

var baseurl = '';

sessionstorage.setitem('baseurl', baseurl);

function

getquerystring

(name)

var browsertype = (function

() else

if(ua.match(/alipayclient/i) == 'alipayclient') else

})();

// 獲取

var userid, code;

try

code = getquerystring('code');

if(code)

} catch(e)

var currenturl = location.href;

// 判斷平台

if(browsertype == 1)

} else

if(browsertype == 2) {} else

//直接跳轉到支付介面

location.replace('userpaydesk.html');

h5請求伺服器獲取openid
// 請求後台,獲取openid等

var instance = axios.create(

});instance.post(

'/scan/getopenid',

'code=' + code

).then(function

(response) catch(e)

} else

}).catch(function

(error) );

輸入金額介面展現如下:

付款,請求統一下單

這裡傳遞的引數可以根據需求來定,我需要用到商戶的userid以便伺服器區分是支付給哪個商戶方便記賬。

// 系統下單

instance.post(

'transamount=' + moneyfloat + '&userid=' + userid + '&openid=' + openid + '&browsertype=' + browsertype

).then(function

(response) else

if(res.response.hasownproperty('qrcode'))

} else );

}settimeout(function

() , 200);

}).catch(function

(error) );

function

wxpay

(payinfo) else

if(document.attachevent)

} else

function

onbridgeready

(payinfo) ,

function

(res) );

} else );}}

);}}支付成功,重定向到成功頁面:

成功頁面如下:

小技巧:

pushhistory();

var bool = false;

settimeout(function

() , 1500);

window.addeventlistener("popstate", function

(e)

pushhistory();

}, false);

function

pushhistory

() ;

window.history.pushstate(state, "title", "#");

}

微信支付 微信JSAPI支付

pay.php baby extend wx pay.php namespace wx class pay 通過redirecturi獲取授權資訊 return mixed public function getauthinfo 通過code換取網頁授權資訊 res this curlgetreq ...

Java H5 微信支付

說明幾點 1.商戶訂單號我用的是 當前毫秒數 隨機生成5個字元組成的隨機數。2.total fee 是以分為單位的 1塊錢的話就是 100 3.因為sign生成演算法需要引數按照key value的格式,並按照引數名ascii字典序排序,所以我這裡用到的是sortedmap 6.mweb url 後...

TP5微信支付

public function pay openid,fee,test openid openid 支付相關設定 fee i post.total fee fee fee 舉例支付0.01 body test nonce str this nonce str 隨機字串 out trade no th...