知識(shí)
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價(jià)值,我們?cè)谧非笃湟曈X(jué)表現(xiàn)的同時(shí),更側(cè)重于功能的便捷,營(yíng)銷的便利,運(yùn)營(yíng)的高效,讓網(wǎng)站成為營(yíng)銷工具,讓軟件能切實(shí)提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序?yàn)楹笃谏?jí)提供便捷的支持!
您當(dāng)前位置>首頁(yè) » 新聞資訊 » 公眾號(hào)相關(guān) >
vue公眾號(hào)h5 微信支付
發(fā)表時(shí)間:2020-10-29
發(fā)布人:葵宇科技
瀏覽次數(shù):61
vue微信公眾號(hào)h5微信支付
可以配合https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1微信支付。
一.配置好公眾號(hào)的基本配置(網(wǎng)頁(yè)域名授權(quán),你需要填寫(xiě)正確的可以訪問(wèn)的項(xiàng)目域名,js安全域名都要配)還有公眾號(hào)的設(shè)置
二.配置微信商戶平臺(tái)的內(nèi)容才可以開(kāi)始支付
商戶平臺(tái)需要進(jìn)行的配置是:商戶號(hào),支付密鑰
商戶號(hào)一般都是和自己公眾號(hào)的商戶號(hào)是一樣的
商戶支付目錄是可以配置一個(gè)泛目錄
如果出現(xiàn)這種情況就是支付目錄沒(méi)配好
三.安裝js-sdk的或者weixin-jsapi包,這有個(gè)坑點(diǎn)就是項(xiàng)目如果是vue你要用weixin-jsapi,用js-sdk會(huì)有別的坑問(wèn)題
(用npm 或yarn安裝npm install weixin-js-sdk --save 或者npm install weixin-jsapi --save)import wx from “weixin-jsapi” 在main.js里面引入;
四.配置微信wx.config文件,調(diào)用官方api完成支付
// 微信支付
async getConfig() {
let result = await apiWxConfig({
url: window.location.href.split("#")[0], // 獲取當(dāng)前掃碼界面的url,url后面不能攜帶任何參數(shù)及#號(hào),所以在此進(jìn)行分割
});
if (result.code == 200) {
var timestamp = result.data.timestamp;
var noncestr = result.data.nonceStr;
var signature = result.data.signature;
var appId = result.data.appId;
console.log("rresult.data.timestamp", result.data.timestamp);
wx.config({
debug: false, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。
// debug : true, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。
appId: appId, // 必填,公眾號(hào)的唯一標(biāo)識(shí)
timestamp: timestamp, // 必填,生成簽名的時(shí)間戳
nonceStr: noncestr, // 必填,生成簽名的隨機(jī)串
signature: signature, // 必填,簽名,見(jiàn)附錄1
jsApiList: ["checkJsApi", "chooseWXPay"], // 必填,需要使用的JS接口列表,所有JS接口列表見(jiàn)附錄2
}); // 錯(cuò)誤時(shí)
wx.error(function (res) {
alert("出錯(cuò)了:" + res.errMsg); //這個(gè)地方的好處就是wx.config配置錯(cuò)誤,會(huì)彈出窗口哪里錯(cuò)誤,然后根據(jù)微信文檔查詢即可。
});
// 成功
// let ip = returnCitySN["cip"];
// console.log('returnCitySN',returnCitySN)
let order = this.getOrder();
let extra = JSON.stringify({ openId: getToken("openId") });
console.log("order", order);
let resData = await apiPaying({
channelId: "WX_JSAPI",
storeId: this.$store.state.storeId,
mchId: "**",
mchOrderNo: order,
amount: +this.myMoneyList * 100,
subject: "***",
body: "***",
extra: extra,
});
console.log("dytata-------------openid", resData);
this.wxPay = resData.data.payParams;
let { timeStamp, nonceStr, signType, paySign } = resData.data.payParams;
let package1 = resData.data.payParams.package;
if (resData.code != 0) {
this.$toast.fail("支付參數(shù)獲取失敗");
return;
}
wx.ready(function () {
wx.checkJsApi({
jsApiList: ["chooseWXPay"],
success: function (res1) {
wx.chooseWXPay({
timestamp: timeStamp, // 支付簽名時(shí)間戳,注意微信jssdk中的所有使用timestamp字段均為小寫(xiě)。但最新版的支付后臺(tái)生成簽名使用的timeStamp字段名需大寫(xiě)其中的S字符
nonceStr: nonceStr, // 支付簽名隨機(jī)串,不長(zhǎng)于 32 位
package: package1,
signType: signType, // 簽名方式,默認(rèn)為'SHA1',使用新版支付需傳入'MD5'
paySign: paySign, // 支付簽名
success: function (res) {
// 支付成功后的回調(diào)函數(shù)
if (res.errMsg == "chooseWXPay:ok") {
//支付成功
alert("支付成功");
setTimeout(() => {
window.location.reload();
}, 2000);
} else {
alert(res.errMsg);
}
},
cancel: function (res) {
//支付取消
alert("支付取消");
},
});
},
});
});
} else {
this.$toast.fail("微信配置失敗");
}
},
對(duì)大家有幫助的話,點(diǎn)個(gè)贊謝謝,愛(ài)你們哦
相關(guān)案例查看更多
相關(guān)閱讀
- 云南網(wǎng)站制作哪家好
- 云南小程序制作
- vue開(kāi)發(fā)小程序
- 報(bào)廢車回收
- 汽車報(bào)廢回收管理軟件
- 搜索引擎排名
- 人口普查小程序
- 微信小程序
- 大理網(wǎng)站建設(shè)公司
- 汽車回收管理系統(tǒng)
- 百度快速排名
- Web開(kāi)發(fā)框架
- 百度推廣
- python開(kāi)發(fā)小程序
- 小程序開(kāi)發(fā)課程
- 云南小程序被騙蔣軍
- 網(wǎng)絡(luò)公司電話
- 云南軟件設(shè)計(jì)
- 重慶網(wǎng)站建設(shè)公司
- 網(wǎng)站建設(shè)公司哪家好
- 云南做軟件
- 云南小程序開(kāi)發(fā)費(fèi)用
- 楚雄網(wǎng)站建設(shè)公司
- 云南小程序開(kāi)發(fā)
- uniapp開(kāi)發(fā)小程序
- 網(wǎng)站建設(shè)選
- 網(wǎng)站建設(shè)招商
- 昆明小程序開(kāi)發(fā)聯(lián)系方式
- 云南網(wǎng)站建設(shè)制作
- 電商網(wǎng)站建設(shè)