知識
不管是網(wǎng)站,軟件還是小程序,都要直接或間接能為您產(chǎn)生價值,我們在追求其視覺表現(xiàn)的同時,更側(cè)重于功能的便捷,營銷的便利,運營的高效,讓網(wǎng)站成為營銷工具,讓軟件能切實提升企業(yè)內(nèi)部管理水平和效率。優(yōu)秀的程序為后期升級提供便捷的支持!
您當前位置>首頁 » 新聞資訊 » 公眾號相關(guān) >
vue微信公眾號支付過程
發(fā)表時間:2020-9-30
發(fā)布人:葵宇科技
瀏覽次數(shù):45
下載依賴
NPM庫
npm install weixin-jsapi
引入
import wx from 'weixin-jsapi'
拉起支付
// 點擊立即支付按鈕
payNow () {
var $this = this;
this.$post('/wx/pay/orderPayNow', // 支付接口
{
... ... 一堆參數(shù)
totalFee: this.totalFee // 示例:總費用
}
).then(function(res) {
if(res.code == 1000){
wx.ready(function(){
wx.chooseWXPay({
appId:res.data.appId, // appId
timestamp: res.data.timeStamp, // 支付簽名時間戳
nonceStr: res.data.nonceStr, // 支付簽名隨機串
package: res.data.packageValue, // 統(tǒng)一支付接口返回的prepay_id參數(shù)值
signType: res.data.signType, // 簽名方式
paySign: res.data.paySign, // 支付簽名(簽名算法看微信開放文檔的js-sdk文檔的附錄1,當然這是后端的事情)
// 支付成功,跳入支付成功頁面,點擊完成按鈕會進入success和complete函數(shù)
success: function (res) {
// res.errMsg === 'chooseWXPay:ok'方式判斷前端返回,微信團隊鄭重提示:
// res.errMsg將在用戶支付成功后返回ok,但并不保證它絕對可靠, 切記。
// res.errMsg === 'chooseWXPay:cancel' 支付取消
if (res.errMsg === 'chooseWXPay:ok') { // 支付成功進入這個判斷
$this.$toast('支付成功!')
$this.$router.replace({ // 支付成功后跳入自己需要額頁面
path: "/payHistory",
})
} else if (res.errMsg === 'chooseWXPay:cancel') { // 經(jīng)過測試 用戶取消支付不會進入這個判斷,而是進入complate和cancel函數(shù)
$this.$toast('取消支付');
}
$this.$toast('success:' + res.errMsg)
},
// 不管支付成功與否,只要拉起支付之后進行任何操作之后,都會進入complate函數(shù)
complete: function (res) {
if (res.errMsg === 'chooseWXPay:ok') { // 成功 res.errMsg === 'chooseWXPay:ok' // 支付成功提示頁面,點擊完成按鈕之后
$this.$toast('支付成功!')
$this.$router.replace({
path: "/payHistory",
})
// 或者關(guān)閉窗口// wx.closeWindow() 如果調(diào)用這個關(guān)閉接口,要在驗簽的時候配置jsapiList// WeixinJSBridge.call('closeWindow');
} else if (res.errMsg === 'chooseWXPay:cancel') { // 取消 res.errMsg === 'chooseWXPay:cancel'
$this.$toast('取消支付');
}
$this.$toast('complete:' + res.errMsg)
// 對于下面這個說法:我經(jīng)過實際測試:ios和Android支付成功后點擊完成按鈕都會進入success和complete函數(shù),并且返回信息都是 res.errMsg === 'chooseWXPay:ok'
// 網(wǎng)友說法:對于安卓客戶端支付成功后不進入chooseWXPay函數(shù)success的問題原因是:iOS和安卓返回的數(shù)據(jù)不同,實際如下:支付成功后:安卓客戶端返回的是 {"errMsg":"getBrandWCPayRequest:ok"},而iOS返回的是{"err_Info":"success","errMsg":"chooseWXPay:ok"},安卓找不到success入口
},
// 用戶取消支付--實際上進入cancel 和 complate 函數(shù)
cancel: function (res) {
$this.$toast('已取消支付');
},
// 支付失敗
fail: function (res) {
$this.$toast('支付失敗,請重試');
}
})
})
// 驗簽錯誤或者其他錯誤
wx.error(function (res) {
$this.$toast('支付錯誤!')
})
}else{
$this.$toast({
message: '獲取支付信息失敗,請重試',
});
}
}).catch(function(error){
$this.$toast('繳費請求失敗!請重試');
});
}
點擊這個完成按鈕,就會進入success和complate
函數(shù)中,進行判斷就好了
相關(guān)案例查看更多
相關(guān)閱讀
- 小程序開發(fā)費用
- 網(wǎng)站小程序
- 云南小程序被騙蔣軍
- 昆明小程序開發(fā)聯(lián)系方式
- 大理網(wǎng)站建設公司
- 云南網(wǎng)站建設電話
- 云南網(wǎng)站制作
- 文山小程序開發(fā)
- 百度推廣
- 開發(fā)微信小程序
- 網(wǎng)站建設服務公司
- 軟件定制公司
- 網(wǎng)站排名
- 云南網(wǎng)站建設靠譜公司
- typescript
- 云南衛(wèi)視小程序
- 網(wǎng)絡營銷
- 云南網(wǎng)站建設開發(fā)
- 手機網(wǎng)站建設
- 云南網(wǎng)站建設費用
- 生成海報
- 云南小程序開發(fā)公司
- 日歷組件
- 云南網(wǎng)站建設哪家強
- 云南企業(yè)網(wǎng)站
- 電商網(wǎng)站建設
- 小程序開發(fā)排名前十名
- 云南網(wǎng)頁制作
- 小程序商城
- 迪慶小程序開發(fā)