知識(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è) » 新聞資訊 » 小程序相關(guān) >
uniapp實(shí)現(xiàn)微信小程序支付功能
發(fā)表時(shí)間:2021-1-4
發(fā)布人:葵宇科技
瀏覽次數(shù):135
我這個(gè)項(xiàng)目是一個(gè)外賣小程序
首先要做支付功能,需要兩個(gè)條件
1.必須是企業(yè),個(gè)人用戶不行
2.去微信支付平臺(tái)提交資料審核
首先封裝網(wǎng)絡(luò)請(qǐng)求
api.js
// 引進(jìn)提示
import {errdata} from 'api/errdata.js'
// GET
let listing = function(urling){
return new Promise((resolve,reject)=>{
uni.request({
url:urling,
method:'GET',
})
.then((res)=>{
// console.log(res[1])
uni.showLoading({
title:'加載中'
})
resolve(res[1])
setTimeout(()=>{
uni.hideLoading()
},1000)
})
.catch((err)=>{
let errs = '服務(wù)器錯(cuò)誤 請(qǐng)稍后再試'
errdata.errlist(errs)
reject(err)
})
})
}
// POST請(qǐng)求
let publicing = function(urling,shopdata){
return new Promise((resolve,reject)=>{
uni.request({
url:urling,
method:'POST',
data:shopdata,
})
.then((res)=>{
uni.showLoading({
title:'加載中'
})
// console.log(res[1])
resolve(res[1])
setTimeout(()=>{
uni.hideLoading()
},1000)
})
.catch((err)=>{
let errs = '服務(wù)器錯(cuò)誤 請(qǐng)稍后再試'
errdata.errlist(errs)
reject(err)
})
})
}
export{listing,publicing}
errdata.js是一個(gè)錯(cuò)誤提示
// 提示
const errdata = http://www.wxapp-union.com/{
errlist(err){
uni.showToast({
icon:'none',
title: err,
duration: 3000
});
}
}
export{errdata}
request.js是地址
// 公用地址
let url = 'https://meituan.thexxdd.cn/api/'
// 微信支付
let wxpayingurl = `${url}wxpay/wxpaying`
export{wxpayingurl}
然后支付的時(shí)候也分三步,第一步是統(tǒng)一下單
var {log} = console
// 引入提示組件
// post
import {publicing} from '../../api/api.js'
// 地址
import {wxpayingurl} from '../../api/request.js'
這是支付代碼
//微信支付
async wxPay() {
// 提示用戶正在下單,防止用戶多次點(diǎn)擊下單按鈕
wx.showToast({
title: '正在下單',
icon: 'loading',
duration: 200000,
mask: true
})
//搞定必填參數(shù)
//客戶信息
let peopleobj = {
address: this.addressing.detailInfo,
name: this.addressing.userName,
iphone: this.addressing.telNumber
}
// 商家標(biāo)識(shí)
let merchantid = this.MerchantId
// 截取商家標(biāo)識(shí)字符串
let ide = this.MerchantId.slice(0, 7)
// 商家名稱
let commod = this.nameshop
// 商家logo
let logo = this.logo
//把要發(fā)送到后臺(tái)到數(shù)據(jù)以對(duì)象形式存儲(chǔ)
let Paymentinfor = {
type: 'placeOrder',
peopleobj,
arrinfo: this.allorder,
merchantid,
ide,
commod,
logo,
useropenid: this.openid,
payment: this.payment
}
log(Paymentinfor)
// es6 :async await:異步編程同步化
// 第一步:統(tǒng)一下單
// await:等待
let Placeorder = await this.placeOrder(Paymentinfor)
let Payparame = Placeorder.data.datas
// 第二步:發(fā)起支付
let wxpay = await this.wxPays(Payparame)
// 第三步:查詢時(shí)候支付成功
let paysucc = await this.paySucc(Payparame)
},
然后是我們的第一步,統(tǒng)一下單
placeOrder(Paymentinfor) {
return new Promise((resolve, reject) => {
publicing(wxpayingurl, Paymentinfor)
.then((res) => {
log(res)
wx.hideToast()
resolve(res)
})
.catch((err) => {
log(err)
wx.hideToast()
reject('支付錯(cuò)誤')
})
})
},
第二步就是發(fā)起支付
wxPays(Payparame) {
return new Promise((resolve, reject) => {
wx.requestPayment({
timeStamp: Payparame.time_stamp,
nonceStr: Payparame.nonceStr,
package: `prepay_id=${Payparame.prepayId}`,
signType: 'MD5',
paySign: Payparame.payauto,
success: (res) => {
// log(res)
resolve(res)
},
fail: (err) => {
log(err)
reject(err)
let succ = '取消支付'
let ico = 'success'
this.tIps(succ, ico)
}
})
})
},
第三步是查詢是否支付成功
paySucc(Payparame) {
return new Promise((resolve, reject) => {
let data = http://www.wxapp-union.com/{
type:'paysucc',
out_trade_no: Payparame.out_trade_no,
id: Payparame._id,
merchantid: this.MerchantId
}
publicing(wxpayingurl, data)
.then((res) => {
log(res)
let succ = '支付成功'
let ico = 'success'
this.tIps(succ, ico)
})
.catch((err) => {
log(err)
let succ = '支付失敗'
let ico = 'success'
this.tIps(succ, ico)
})
})
},
github上有項(xiàng)目地址:
github項(xiàng)目地址:https://github.com/lsh555/meituanwaimai相關(guān)案例查看更多
相關(guān)閱讀
- 楚雄小程序開(kāi)發(fā)
- 云南做網(wǎng)站
- 云南軟件設(shè)計(jì)
- 網(wǎng)站建設(shè)首選公司
- 汽車報(bào)廢管理系統(tǒng)
- 云南網(wǎng)站建設(shè)招商
- 云南建設(shè)廳網(wǎng)站首頁(yè)
- 小程序模板開(kāi)發(fā)公司
- 網(wǎng)站建設(shè)費(fèi)用
- 網(wǎng)站建設(shè)公司哪家好
- 全國(guó)前十名小程序開(kāi)發(fā)公司
- SEO
- 昆明做網(wǎng)站
- 昆明小程序公司
- 云南網(wǎng)站建設(shè)方案 doc
- 云南企業(yè)網(wǎng)站
- 云南小程序開(kāi)發(fā)報(bào)價(jià)
- web教程
- 汽車報(bào)廢回收軟件
- 云南花農(nóng)小程序
- web前端
- 百度小程序開(kāi)發(fā)
- 小程序退款
- 網(wǎng)站制作
- 云南網(wǎng)站建設(shè)公司排名
- 網(wǎng)站建設(shè)方案 doc
- 報(bào)廢車管理
- 小程序被騙
- 汽車拆解管理軟件
- 模版消息