小程序支付
支付流程
//miniprogram\modules\orderPayModule\pages\order\detail\detail.js
import { reqSubmitOrder, reqPrePayInfo, reqPayStatus } from '@/api/orderpay'
import { debounce } from 'miniprogram-licia'
Page({
data: {
... // 订单参数
},
submitOrder: debounce(async function () {
... // 对请求参数进行验证
// 生成平台订单,返回订单编号
const res = await reqSubmitOrder(params)
if (res.code === 200) {
this.orderNo = res.data
this.advancePay()
}
}, 500),
async advancePay() {
try {
// 获取预付单信息
const payParams = await reqPrePayInfo(this.orderNo)
if (payParams.code === 200) {
// 发起微信支付
const payInfo = await wx.requestPayment(payParams.data)
if (payInfo.errMsg === 'requestPayment:ok') {
// 查询支付状态
const payStatus = await reqPayStatus(this.orderNo)
if (payStatus.code === 200) {
wx.redirectTo({
url: '/modules/orderPayModule/pages/order/list/list',
success: () => {
wx.toast({
title: '支付成功',
icon: 'success'
})
}
})
}
}
}
} catch (error) {
wx.toast({
title: '支付失败',
icon: 'error'
})
}
},
})