- 資訊首頁(yè) > 開(kāi)發(fā)技術(shù) > web開(kāi)發(fā) > JavaScript >
- 小程序通過(guò)小程序云實(shí)現微信支付功能實(shí)例
\微信公眾號平臺\功能\微信支付\商戶(hù)號管理\關(guān)聯(lián)商戶(hù)號
\云開(kāi)發(fā)平臺\設置\其他設置\微信支付配置\添加商戶(hù)號
1.2那張圖上,點(diǎn)擊授權。管理員的微信就會(huì )跳出提示,點(diǎn)擊確定授權即可。
否則使用的時(shí)候,會(huì )出現sub_mch_id與sub_appid不匹配
的報錯!
\pay\index.js
const cloud = require('wx-server-sdk') cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }) exports.main = async (event, context) => { const res = await cloud.cloudPay.unifiedOrder({ "body" : event.body, "outTradeNo" : event.outTradeNo, "spbillCreateIp" : "127.0.0.1", "subMchId" : "0000000000", //這里要注意:雖然key是子商戶(hù)id,實(shí)際上就是普通商戶(hù)id "totalFee" : parseInt(event.totalFee), //第二個(gè)坑:注意必須是數字,如果不是數字,則會(huì )報錯unifiedOrder:fail wx api error: -202 "envId": "ooo-xxxxxxxxxxxxxxxx", //這里是回調函數所屬的的云環(huán)境id "functionName": "payCallBack", //這個(gè)是回調函數名 "nonceStr":event.nonceStr, //第三個(gè)坑:官方文檔中相關(guān)云函數代碼沒(méi)有nonceStr和tradeType,測試的時(shí)候會(huì )報nonceStr不存在的錯,翻看文檔才發(fā)現這個(gè)是必填項,直接粘過(guò)來(lái)以后還需要加上這兩個(gè)參數 "tradeType":"JSAPI" }) return res }
//調用云函數,微信統一下單 cloudPay(){ var _this = this this.setData({ body: "賬單支付-xxxxx", outTradeNo: this.data.id+"-"+util.uuid(16), totalFee: this.data.totalCost*100 //支付單位:分 }) app.showLoading(true) wx.cloud.callFunction({ name: "pay", data: { body: _this.data.body, outTradeNo: _this.data.outTradeNo, totalFee: _this.data.totalFee, nonceStr:util.uuid(32)//調用自己的uuid函數 }, success(res) { // errCode: 0 // errMsg: "cloudPay.unifiedOrder:ok" // returnCode: "FAIL" // returnMsg: "total_fee is empty. " console.log("提交成功", res.result) if(res.result.returnCode!="SUCCESS"){ app.showToast(res.result.returnMsg) return } _this.unifiedOrder(res.result) // _this.requestPayment(res.result) }, fail(res) { console.log("提交失敗", res) } }) },
3.2 調起微信支付界面
//官方標準的支付方法,調起支付界面 requestPayment(payData) { var _this = this; const payment = payData.payment//這里注意,上一個(gè)函數的result中直接整合了這里要用的參數,直接展開(kāi)即可使用 wx.requestPayment({ ...payment, //...是展開(kāi)變量的語(yǔ)法 success(res) { console.log("支付成功", res) _this.paySuccess() }, fail(res) { console.log("支付失敗", res) } }) },
到此這篇關(guān)于小程序通過(guò)小程序云實(shí)現微信支付功能實(shí)例的文章就介紹到這了,更多相關(guān)小程序 微信支付內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站