uniapp 小程序 支付逻辑处理
- 上代码
如果你不需要支付宝适配,可以删除掉支付宝的条件判断代码
<button class="subBtn" :disabled="submiting" @click="goPay">去支付</button>
export default {data() {return {submiting: false,};},methods: {goPay() {if (this.submiting) {return;}uni.showLoading({ title: "发起支付..." });this.submiting = true;this.$uniApi.dataRequestYesLoading("POST","order/app/v1/order/waitPayToPay",{payChannel: "",payChannel: "alipay_mini",orderSource: 5, orderId: this._orderId,buyerMemo: this.memberRemark, seriesNumber:uni.getStorageSync("userInfor").openId ||uni.getStorageSync("wxopenid"), seriesNumber: uni.getStorageSync("userInfor").zfbUserId, },"支付中").then((data) => {if (data.code == 18018 || data.code == 18019 || data.code == 18020) {this.submiting = false;uni.hideLoading();return;}if (data.code !== 1) {uni.hideLoading();this.submiting = false;this.$util.showToast(data.msg);return;}uni.requestPayment({timeStamp: data.data.timeStamp, nonceStr: data.data.nonceStr, package: `prepay_id=${data.data.prepayid}`, signType: data.data.signType, paySign: data.data.pay_sign, orderInfo: data.data.tradeNo,success: (success) => { console.log(success);let resultCode = success.resultCode;if (resultCode == 6001 ||resultCode == 4000 ||resultCode == 6002) {return;}this.wxInForm(["YUjKUVJIRah0xxxxxxxxxxxxxxxxxxxxxxxxx5CE8CVuM", ]).then((res) => {uni.redirectTo({url: '../order_pay/order_pay',,});}).catch((err) => {uni.redirectTo({url: '../order_pay/order_pay',});});this.submiting = false;},fail: (err) => { console.log("fail:" + JSON.stringify(err));this.submiting = false;},});});},wxInForm(tmplIds){return new Promise(resolve => {uni.requestSubscribeMessage({tmplIds:tmplIds, success(res){resolve()},fail(res){resolve()}})})},}}
- 完成!