|
@@ -4,6 +4,7 @@
|
|
|
</view>
|
|
</view>
|
|
|
<view class="payment-methods">
|
|
<view class="payment-methods">
|
|
|
<u-radio-group v-model="formData.payType" @change="radioGroupChange">
|
|
<u-radio-group v-model="formData.payType" @change="radioGroupChange">
|
|
|
|
|
+ <!-- #ifdef MP-WEIXIN -->
|
|
|
<view class="payment-item">
|
|
<view class="payment-item">
|
|
|
<view class="left">
|
|
<view class="left">
|
|
|
<image src="../static/pay1.png" class="payment-icon"></image>
|
|
<image src="../static/pay1.png" class="payment-icon"></image>
|
|
@@ -11,6 +12,17 @@
|
|
|
</view>
|
|
</view>
|
|
|
<u-radio active-color="#38C148" name="1" />
|
|
<u-radio active-color="#38C148" name="1" />
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <!-- #endif -->
|
|
|
|
|
+ <!-- #ifdef MP-ALIPAY -->
|
|
|
|
|
+ <view class="payment-item">
|
|
|
|
|
+ <view class="left">
|
|
|
|
|
+ <image src="../static/alipay.png" class="payment-icon"></image>
|
|
|
|
|
+ <text>支付宝支付</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <u-radio active-color="#38C148" name="1" />
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <!-- #endif -->
|
|
|
|
|
+
|
|
|
<view class="payment-item">
|
|
<view class="payment-item">
|
|
|
<view class="left">
|
|
<view class="left">
|
|
|
<image src="../static/pay2.png" class="payment-icon"></image>
|
|
<image src="../static/pay2.png" class="payment-icon"></image>
|
|
@@ -68,39 +80,93 @@ export default {
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
- onConfirmPayment() {
|
|
|
|
|
- uni.showLoading({
|
|
|
|
|
- title: '支付处理中'
|
|
|
|
|
- })
|
|
|
|
|
- uni.$u.http.post('/token/order/refundOrderPay', this.formData).then(res => {
|
|
|
|
|
- if (res.code == 200) {
|
|
|
|
|
- if (res.data.needPay == 1) {
|
|
|
|
|
- // TODO: 调用支付接口
|
|
|
|
|
- uni.requestPayment({
|
|
|
|
|
- timeStamp: res.data.timeStamp,
|
|
|
|
|
- nonceStr: res.data.nonceStr,
|
|
|
|
|
- package: `prepay_id=${res.data.prepayId}`,
|
|
|
|
|
- signType: res.data.signType,
|
|
|
|
|
- paySign: res.data.paySign,
|
|
|
|
|
- provider: 'wxpay',
|
|
|
|
|
- success: (res) => {
|
|
|
|
|
- //支付成功之后,跳转支付成功页面
|
|
|
|
|
- uni.navigateTo({
|
|
|
|
|
- url: `/pages-mine/pages/pay-success?orderId=${this.formData.refundOrderId}`
|
|
|
|
|
- })
|
|
|
|
|
- },
|
|
|
|
|
- fail: (err) => {
|
|
|
|
|
- console.log(err)
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- } else {
|
|
|
|
|
- //支付成功之后,跳转支付成功页面
|
|
|
|
|
|
|
+ // 统一支付方法
|
|
|
|
|
+ handlePayment(payData) {
|
|
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
|
|
+ this.wxPayment(payData);
|
|
|
|
|
+ // #endif
|
|
|
|
|
+
|
|
|
|
|
+ // #ifdef MP-ALIPAY
|
|
|
|
|
+ this.aliPayment(payData);
|
|
|
|
|
+ // #endif
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 微信支付方法
|
|
|
|
|
+ wxPayment(payData) {
|
|
|
|
|
+ uni.requestPayment({
|
|
|
|
|
+ provider: 'wxpay',
|
|
|
|
|
+ timeStamp: payData.timeStamp,
|
|
|
|
|
+ nonceStr: payData.nonceStr,
|
|
|
|
|
+ package: `prepay_id=${payData.prepayId}`,
|
|
|
|
|
+ signType: payData.signType,
|
|
|
|
|
+ paySign: payData.paySign,
|
|
|
|
|
+ success: (res) => {
|
|
|
|
|
+ //支付成功之后,跳转支付成功页面
|
|
|
|
|
+ uni.navigateTo({
|
|
|
|
|
+ url: `/pages-mine/pages/pay-success?orderId=${this.formData.refundOrderId}`
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: (err) => {
|
|
|
|
|
+ console.error('微信支付失败:', err);
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '支付失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 支付宝支付方法
|
|
|
|
|
+ aliPayment(payData) {
|
|
|
|
|
+ my.tradePay({
|
|
|
|
|
+ tradeNO: payData.tradeNo,
|
|
|
|
|
+ success: (res) => {
|
|
|
|
|
+ if (res.resultCode === '9000') {
|
|
|
|
|
+ // 支付成功
|
|
|
uni.navigateTo({
|
|
uni.navigateTo({
|
|
|
url: `/pages-mine/pages/pay-success?orderId=${this.formData.refundOrderId}`
|
|
url: `/pages-mine/pages/pay-success?orderId=${this.formData.refundOrderId}`
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ } else {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '支付失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: (err) => {
|
|
|
|
|
+ console.error('支付宝支付失败:', err);
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '支付失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ // 发起支付
|
|
|
|
|
+ onConfirmPayment() {
|
|
|
|
|
+ uni.showLoading({
|
|
|
|
|
+ title: '支付处理中'
|
|
|
})
|
|
})
|
|
|
|
|
+ // 获取支付参数
|
|
|
|
|
+ uni.$u.post('/token/order/refundOrderPay', this.formData).then(res => {
|
|
|
|
|
+ if (res.code === 200) {
|
|
|
|
|
+ // 调用统一支付方法
|
|
|
|
|
+ this.handlePayment(res.data);
|
|
|
|
|
+ } else {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: res.msg || '获取支付参数失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }).catch(err => {
|
|
|
|
|
+ console.error('获取支付参数失败:', err);
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: err.msg || '获取支付参数失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ uni.hideLoading();
|
|
|
|
|
+ });
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
radioGroupChange(e) {
|
|
radioGroupChange(e) {
|