当前位置: 首页 > news >正文

微信小程序实现拉卡拉支付

功能需求:拉卡拉支付(通过跳转拉卡拉平台进行支付),他人支付(通过链接进行平台跳转支付)

1.支付操作

//支付
const onCanStartPay = async (obj) => {
		uni.showLoading({
			mask: true
		})
      // 支付接口获取需要传参的数据
		const {
			data,
			code,
			message
		} = await payRequestApi(
			{
                // 单号
				orderNo: obj.oubOrderNo,
			}
		)
		uni.hideLoading()
		if (code === 200) {
            // data为一个跳转链接,他人支付就通过此接口返回链接跳转支付
			let counterUrl = data
            // uni底部弹出框
			uni.showActionSheet({
				itemList: ['立即支付', '他人支付'],
				success: res => {
					if (res.tapIndex === 0) {
                        // 立即支付唤起拉卡拉平台,实现拉卡拉支付
						lklPay(counterUrl,()=>{isOpenPay.value=true})
					} else {
                        // uni剪切板 剪切接口返回的跳转链接 
						uni.setClipboardData({
							data: counterUrl,//需要复制的剪切链接
							success: res => {
								uni.showToast({
									title: '复制成功',
									icon: 'success'
								})
							}
						})
					}
				}
			})
		} 
	}

2.拉卡拉平台支付代码封装

export const lklPay = (counterUrl,callBack) => {
	let appId = 'wx889424d565967811'; // 默认为:拉卡拉聚合收银台小程序的appId
	if (counterUrl.includes('q.huijingcai.top') || counterUrl.includes('q.lakala.com')) {
		appId = 'wxc3e4d1682da3053c' // 拉卡拉收款宝小程序appId
	}
	uni.navigateToMiniProgram({
		appId,
		path: `payment-cashier/pages/checkout/index?source=WECHATMINI&counterUrl=${
	        encodeURIComponent(counterUrl)
	    }`,
		envVersion: 'release',
		// release: 正式版  trial: 体验版
		success: (res) => {
			// 打开成功
			callBack&&callBack()
		},
		fail: res => {
			showModal('打开支付失败,请稍后再试')
		}
	})
}

3.代码结构引用

4.效果:

 

相关文章:

  • QT之改变鼠标样式
  • 算法系列之搜索算法-深度优先搜索DFS
  • 大模型面经:SFT和RL如何影响模型的泛化或记忆能力?
  • nessus kali 卸载
  • 专题--JVM体系
  • Java泛型(超详细介绍)
  • 树莓派 4B:AI 物联网完整部署方案
  • QT项目——天气预报
  • Qt QStackedWidget 总结
  • React 源码揭秘 | CompleteWork “归“的过程
  • Java 23新特性深度解析:开启下一代Java开发新范式
  • 深入解析:短轮询、长轮询、长连接与WebSocket(原理到实现)
  • 2025-arXiv-AlphaSharpe: LLM 驱动的稳健风险调整金融指标
  • python查错误TypeError: bad operand type for unary -: ‘str‘
  • Windows PyCharm的python项目移动存储位置后需要做的变更
  • Qt的QToolButton的使用
  • Java——super
  • 破解Docker镜像拉取难题:为Docker配置代理加速镜像拉取
  • 【JMeter使用-2】JMeter中Java Request采样器的使用指南
  • 【教学类-89-06】20250220新年篇05——元宵节灯笼
  • 准85后青海海北州副州长、州公安局局长李贤荣赴山东临沂挂职
  • 中纪报:五一节前公开通报释放强烈信号,以铁律狠刹歪风邪气
  • 梅花画与咏梅诗
  • 政治局会议:根据形势变化及时推出增量储备政策,加强超常规逆周期调节
  • 山西10岁男孩遭生母和继父殴打遇害,案件庭审延期
  • 今年五一,贵州一脸“爆相”