微信支付JSAPI支付

2022-08-24 14:36:13 字數 1757 閱讀 4858

1.介紹

2.商戶號配置

開發jsapi支付時,在統一下單介面中要求必傳使用者openid,而獲取openid則需要您在公眾平台設定獲取openid的網域名稱

只有被設定過的網域名稱才是乙個有效的獲取openid的網域名稱,否則將獲取失敗。

由於我們公司只需要獲取code調取後台介面換取openid,並且不需要獲取使用者暱稱,頭像等資訊,所以我只需要使用第一種方式即可

方法如下:

使用者同意授權,獲取code

https://
注意 **需要放到線上去執行,才能真的調取成功,在本地執行會報redirect_uri錯誤 提示

注意:code作為換取access_token的票據,每次使用者授權帶上的code將不一樣,code只能使用一次,5分鐘未被使用自動過期  

5. 網頁授權成功了,那接下來就可以使用支付了

第二步:引入js檔案

在需要呼叫js介面的頁面引入如下js檔案,(支援https):

如需進一步提公升服務穩定性,當上述資源不可訪問時,可改訪問: (支援https)。

備註:支援使用 amd/cmd 標準模組載入方法載入

第三步 :通過config介面注入許可權驗證配置

wx.config();

wx.choosewxpay(

});

完整例項如下:

var local = window.location.href ;//

當前跳轉路徑

var code = getparam('code');//

獲取位址列引數code

if (code === null || code === '')

else

//getconfig()//

授權方法應放在支付頁面載入的時候。進入支付頁面就執行授權

wx.choosewxpay( else

},cancel:

function

(r)

});//

以下方法可以放在common.js中

//獲取位址列 指定引數名引數

function

getquerystring(name)

function getopenid(code) else

},error:

function

(res) ,

})}function

getconfig(),

datatype: "json",

success:

function

(data)

else

},error:

function

(res) ,

})}//

function

wxconfig(timestamp,noncestr,signature));

//通過ready介面處理成功驗證

wx.ready(function

());

//通過error介面處理失敗驗證

wx.error(function

(res));

}最後注意:(以下都是本人踩過的坑!!!)

2.呼叫支付時,錯誤提示為: 支付返回簽名錯誤  可能是由於後台生成簽名時引數大小寫沒有按照官方文件大小寫來生成簽名。故一定要嚴格按照官方文件要求開發

微信支付JSAPI支付

這裡是報錯 下面是前端拿到資料後的一些操作 var jsapi ajax success function str function jsapicall function callpay else if document.attachevent else 把乙個官方sdk整合到thinkphp框架中...

微信支付 微信JSAPI支付

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

微信支付JSAPI

應用場景有 我們這裡採用的是pc 場景。1 申請入口 登入商戶平台 產品中心 我的產品 支付產品 jsapi支付 2 瀏覽開發文件 這裡面幾乎介紹了全部流程。商戶號 公眾平台的商戶號 b 在公眾平台設定網頁授權網域名稱 開發jsapi支付時,在統一下單介面中要求必傳使用者openid,而獲取open...