欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁(yè)面支付

 更新時(shí)間:2015年09月25日 09:34:55   作者:荒魚(yú)  
這篇文章主要介紹了微信支付如何實(shí)現(xiàn)內(nèi)置瀏覽器的H5頁(yè)面支付的相關(guān)資料,需要的朋友可以參考下

因?yàn)轫?xiàng)目需要,要在H5頁(yè)面中加入微信支付,所以便去嘗試,只想說(shuō)真的很坑,尤其調(diào)試起來(lái)不方便

這是微信的官方API文檔 微信API

微信支付的準(zhǔn)備工作

申請(qǐng)公眾號(hào),申請(qǐng)開(kāi)通支付,這個(gè)很簡(jiǎn)單,自行百度
申請(qǐng)好之后 在微信公眾平臺(tái)頁(yè)面的“微信支付”頁(yè)面中的“開(kāi)發(fā)配置”Tab上配置“支付授權(quán)目錄”,“測(cè)試授權(quán)目錄”,“測(cè)試白名單”
在微信公眾平臺(tái)頁(yè)面的“開(kāi)發(fā)者中心”中找到“AppID(應(yīng)用ID)”和“AppSecret(應(yīng)用密鑰)”
在商戶平臺(tái)中找到微信支付分配的商戶號(hào),以及自己配置一個(gè)商戶支付密鑰

具體步驟

首先通過(guò)微信支付的api 獲得支付用的prepay_id,這里需要用到上面提到的“AppID(應(yīng)用ID)”,“AppSecret(應(yīng)用密鑰)”,“微信支付分配的商戶號(hào)”,“商戶支付密鑰”以及其他的一些參數(shù)(具體參照微信開(kāi)發(fā)文檔)用MD5加密成簽名(第一次簽名)獲得prepay_id后,用prepay_id和一些其他參數(shù)(具體參照微信開(kāi)發(fā)文檔)用MD5加密成簽名(第二次簽名)然后在前端通過(guò)微信內(nèi)置瀏覽器提供的js API,WeixinJSBridge.invoke來(lái)調(diào)用微信支付的彈出頁(yè)面,這里需要用到上面的第二次的簽名

具體代碼如下

$.get('/xxx',function(data){
 if(data && data !== ""){
  var _data = $.parseJSON(data)[0];
  if(parseInt(_data.userAgent) < 5){
  alert('您的微信版本低于5.0,無(wú)法使用微信支付!');
  return false;
  }
  WeixinJSBridge.invoke('getBrandWCPayRequest',{
  'appId': _data.appId,
  'timeStamp': _data.timeStamp,
  'nonceStr': _data.nonceStr,
  'package': 'prepay_id=' + _data.packageOne,
  'signType': _data.signType,
  'paySign': _data.paySign
  },function(res){
   if(res.err_msg === 'get_brand_wcpay_request:ok'){
   alert('支付成功,返回訂單列表!');
   }else if(res.err_msg === 'get_brand_wcpay_request:cancel'){
   alert('取消支付!');
   }
  });

 }
});

幾個(gè)容易失敗點(diǎn)需要注意

支付鏈接和在開(kāi)發(fā)平臺(tái)配置的鏈接不匹配

總共需要2次簽名,并且所需的參數(shù)是不同的,在JS中用到的簽名是第二次簽名,不要混淆參數(shù)傳遞的不能有錯(cuò)

如果body中有中文需要轉(zhuǎn)義其中還有一些問(wèn)題沒(méi)有完全解決,就是位置支付沒(méi)有一個(gè)判斷失效的時(shí)間,如果在微信支付的彈出層停留時(shí)間太久了,可能這個(gè)訂單在我們網(wǎng)站上已經(jīng)失效了,可在微信支付中仍然能支付成功,如果有高人知道這個(gè)問(wèn)題怎么解決的,希望能告訴解決辦法

相關(guān)文章

  • 談?wù)剬?duì)JavaScript原生拖放的深入理解

    談?wù)剬?duì)JavaScript原生拖放的深入理解

    拖放(drag-and-drop,DnD)其實(shí)是兩個(gè)動(dòng)作——拖和放。所以,它涉及到兩個(gè)元素。一個(gè)是被拖的元素,稱為拖放源;另一個(gè)是要放的目標(biāo),稱為拖放目標(biāo)。本文將通過(guò)拆分這兩個(gè)概念來(lái)詳細(xì)介紹原生拖放,感興趣的朋友一起學(xué)習(xí)吧
    2016-09-09
  • JavaScript(js)處理的HTML事件、鍵盤(pán)事件、鼠標(biāo)事件簡(jiǎn)單示例

    JavaScript(js)處理的HTML事件、鍵盤(pán)事件、鼠標(biāo)事件簡(jiǎn)單示例

    這篇文章主要介紹了JavaScript(js)處理的HTML事件、鍵盤(pán)事件、鼠標(biāo)事件,結(jié)合實(shí)例形式分析了JavaScript針對(duì)HTML事件、鍵盤(pán)事件及鼠標(biāo)事件的簡(jiǎn)單處理方法,需要的朋友可以參考下
    2019-11-11
  • js實(shí)現(xiàn)的美女瀑布流效果代碼

    js實(shí)現(xiàn)的美女瀑布流效果代碼

    美女瀑布流效果分享一下,大家勿噴啊 借用新浪的美女 嘿嘿 睜大你的眼睛
    2012-11-11
  • javascript過(guò)濾危險(xiǎn)腳本方法

    javascript過(guò)濾危險(xiǎn)腳本方法

    腳本藏身之處不過(guò)有四: 1、<script>標(biāo)簽、<link>標(biāo)簽、<style>標(biāo)簽、iframe標(biāo)簽 2、on開(kāi)頭的標(biāo)簽屬性 3、javascript(vbscript)偽協(xié)議 4、css的epression
    2008-08-08
  • JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)

    JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)

    這篇文章介紹了JavaScript獲取字符串實(shí)際長(zhǎng)度(包含中英文)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • 兩個(gè)Javascript小tip資料

    兩個(gè)Javascript小tip資料

    兩個(gè)Javascript小tip資料,學(xué)習(xí)js的朋友可以參考下。
    2010-11-11
  • Javascript直接定義對(duì)象實(shí)例[

    Javascript直接定義對(duì)象實(shí)例[

    Javascript直接定義對(duì)象實(shí)例[...
    2006-12-12
  • 利用JavaScript的Map提升性能的方法詳解

    利用JavaScript的Map提升性能的方法詳解

    這篇文章主要介紹了利用JavaScript的Map提升性能的方法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • js對(duì)url進(jìn)行編碼解碼的三種方式總結(jié)

    js對(duì)url進(jìn)行編碼解碼的三種方式總結(jié)

    為一個(gè)字符串進(jìn)行URL編碼很容易,只需要調(diào)用encodeURI,傳入要編碼的字符串即可,而且實(shí)現(xiàn)的方法不止這一個(gè),下面這篇文章主要給大家介紹了關(guān)于js對(duì)url進(jìn)行編碼解碼的三種方式,需要的朋友可以參考下
    2023-02-02
  • JS實(shí)現(xiàn)的JSON序列化操作簡(jiǎn)單示例

    JS實(shí)現(xiàn)的JSON序列化操作簡(jiǎn)單示例

    這篇文章主要介紹了JS實(shí)現(xiàn)的JSON序列化操作,結(jié)合簡(jiǎn)單實(shí)例形式分析了json序列化操作相關(guān)實(shí)現(xiàn)方法與相關(guān)注意事項(xiàng),代碼備有較為詳盡的注釋便于理解,需要的朋友可以參考下
    2018-07-07

最新評(píng)論