微信支付的流程
我认为有几种方案,~~~~~
async payOrder() {
const orderInfo = {
"order_price": 0.1,
"consignee_addr": this.addstr,
"goods": this.cart.filter(x => x.goods_state).map(x => ({
goods_id: x.goods_id,
goods_number: x.goods_count,
goods_price: x.goods_price,
}))
}
1.--------------const {
data: res
} = await uni.$http.post('/api/public/v1/my/orders/create', orderInfo)
console.log(data, '===data')
请求【创建订单的 API 接口】:把(订单金额、收货地址、订单中包含的商品信息)发送到服务器
if (res.meta.status !== 200) return uni.$showMsg('创建订单失败!')
const orderNumber = res.message.order_number
const {
data: res2
} = await uni.$http.post('/api/public/v1/my/orders/req_unifiedorder', {
order_number: orderNumber
})
2---------------将上一步响应的(订单编号)作为参数发送到服务器请求【订单预支付的 API 接口】
if (res2.meta.status !== 200) return uni.$showError('预付订单生成失败!')
const payInfo = res2.message.pay
3---------------调用【微信支付API】,将订单对象作为参数传递后监听它的回调
const [err, succ] = await uni.requestPayment(payInfo)
if (err) return uni.$showMsg('订单未支付!')
const {
data: res3
} = await uni.$http.post('/api/public/v1/my/orders/chkOrder', {
order_number: orderNumber
})
if (res3.meta.status !== 200) return uni.$showMsg('订单未支付!')
uni.showToast({
title: '支付完成!',
icon: 'success'
})
}
支付宝支付流程
1.点击支付按钮,创建订单,调用【生成订单接口】,得到订单ID,打开选择支付方式对话框
2.选择支付方式,(测试环境要配置 回跳地址)调用【支付地址api】,得到支付地址,跳转到支付宝页面
01.使用支付宝APP支付(在手机上且安装沙箱支付宝)
02.使用浏览器账号密码支付 (测试推荐)
3.跳转【支付地址】支付成功回跳到问诊室页面