使用组件“uni.requestMerchantTransfer”,需要下载组件,下载地址:”ext.dcloud.net.cn/plugin?id=2…“,按“UniApp“下载插件的方式安装到项目中,引用方式,代码如下:
// #ifdef APP-PLUS
import { requestMerchantTransfer } from '@/uni_modules/uni-requestMerchantTransfer';
// #endif
代码实现部分
// #ifdef MP-WEIXIN
let that = this;
uni.showModal({
title: '提示',
content: '确认收款代表你同意收款,具体到账时间请看微信通知,是否确认收款?',
success: function (res) {
if (res.confirm) {
if (wx.canIUse('requestMerchantTransfer')) {
wx.requestMerchantTransfer({
mchId: that.itemInfo.mch_id,
appId: that.itemInfo.appid,
package: that.itemInfo.zz_package_info,
success: (res) => {
console.log('调起确认页面成功', res);
that.itemInfo.zz_state = '';
if (res.errMsg === 'requestMerchantTransfer:ok') {
uni.showToast({
title: '你已确认收款,具体到账时间请看微信通知',
icon:'none',
duration:3000,
});
}
setTimeout(() => {
that.getDetail();
}, 2000);
},
fail: (err) => {
console.error('调起确认页面失败', err);
uni.showToast({
title: '确认收款失败: ' + err.errMsg,
icon: 'none',
duration:3000,
});
},
});
} else {
wx.showModal({
content: '你的微信版本过低,请更新至最新版本。',
showCancel: false,
});
}
} else {
return uni.showToast({
title:'已取消',
icon:'none'
});
}
}
});
// #endif
// #ifdef APP-PLUS
let that = this;
uni.showModal({
title: '提示',
content: '确认收款代表你同意收款,具体到账时间请看微信通知,是否确认收款?',
success: function (res) {
if (res.confirm) {
requestMerchantTransfer({
mchId: that.itemInfo.mch_id,
appId: that.itemInfo.appid,
package: that.itemInfo.zz_package_info,
success: (res) => {
that.itemInfo.zz_state = '';
// 注意:此回调仅表示页面展示成功,不代表用户确认付款
console.log('调起确认页面成功', res);
uni.showToast({
title: '你已确认收款,具体到账时间请看微信通知',
icon:'none',
duration:3000,
});
setTimeout(() => {
that.getDetail();
}, 2000);
},
fail: (err) => {
console.error('调起确认页面失败', err);
uni.showToast({
title: '确认收款失败: ' + err.errMsg,
icon: 'none',
duration:3000,
});
},
complete: (res) => {
console.log('接口调用结束', res.errMsg);
}
});
} else {
return uni.showToast({
title:'已取消',
icon:'none'
});
}
}
});
// #endif
IOS下报“没有配置对应的URL Scheme”解决方法:
//文件位置
/uni_modules/uni-requestMerchantTransfer/utssdk/app-ios/index.uts
代码部分
import { UIApplication } from "UIKit";
import { URL, NSUserActivity, Bundle, URLComponents, URLQueryItem, Script } from "Foundation";
import { RequestMerchantTransfer, RequestMerchantTransferOptions, RequestMerchantTransferGeneralCallbackResult } from '../interface.uts';
const DEFAULT_WECHAT_APP_ID = 'wx4352af797fc8ead4'//开放平台对应的,新加的
App id
const DEFAULT_WECHAT_UNIVERSAL_LINK = 'https://www.test.com/mingchucs/'//换成自己的UNIVERSAL_LINK,新加的
export const requestMerchantTransfer : RequestMerchantTransfer = function (options : RequestMerchantTransferOptions) {
WxpayManager.requestMerchantTransfer(options)
}