微信支付“商家转账用户确认模式”,新手教程

使用组件"uni.requestMerchantTransfer",需要下载组件,下载地址:"https://ext.dcloud.net.cn/plugin?id=22283",按"UniApp"下载插件的方式安装到项目中,引用方式,代码如下:

javascript 复制代码
// #ifdef APP-PLUS
	import { requestMerchantTransfer } from '@/uni_modules/uni-requestMerchantTransfer';
// #endif

代码实现部分

javascript 复制代码
// #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"解决方法:

javascript 复制代码
//文件位置
/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)
}
相关推荐
lbb 小魔仙1 分钟前
Python 性能分析工具实战:cProfile、memory_profiler、line_profiler 使用指南
开发语言·python
小小晓.5 分钟前
C++小白记:vector
开发语言·c++·算法
xgc_java11 分钟前
在Java里把ONNX/OpenCV/FFmpeg跑稳:28篇bytedeco实战小册完整指南
java·opencv·ffmpeg
Lhappy嘻嘻15 分钟前
网络(四)|全网最细网络层原理:IP 协议、IP 地址分类、子网划分、路由转发、NAT 穿透详解
java·笔记·网络协议·计算机网络
小刘学技术16 分钟前
AI人工智能决策树分类器:原理、实现与应用
开发语言·人工智能·python·算法·决策树·机器学习·数据挖掘
脱胎换骨-军哥17 分钟前
C++ 嵌入式编程实例:从寄存器操作到底层驱动开发
开发语言·c++·驱动开发
大模型码小白29 分钟前
Milvus 架构设计:从向量索引到分布式检索,AI 原生存储引擎的内部机制
java·大数据·人工智能·分布式·深度学习·milvus
稚南城才子,乌衣巷风流30 分钟前
链表(Linked List):数据结构详解与实战应用
java
NWU_LK34 分钟前
【WebFlux】第二篇 —— Project Reactor 核心数据类型
java
三84438 分钟前
笔记:在同一个物理服务器上通过nginx的虚拟主机生成多个不同的web站点
java·前端·nginx