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

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

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.效果:

相关推荐
晓翔仔1 小时前
小程序个人信息安全检测技术:从监管视角看加密与传输合规
小程序
咸虾米1 天前
微信小程序服务端api签名,安全鉴权模式介绍,通过封装方法实现请求内容加密与签名
vue.js·微信小程序·uni-app
—Qeyser1 天前
小程序UI(自定义Navbar)
小程序
2501_915921431 天前
iOS 应用上架多环境实战,Windows、Linux 与 Mac 的不同路径
android·ios·小程序·https·uni-app·iphone·webview
Goona_1 天前
PyQt多窗口应用开发:构建完整的可二次开发用户登录注册模板
python·小程序·excel·pyqt
wstcl1 天前
安卓app、微信小程序等访问多个api时等待提示调用与关闭问题
android·微信小程序·webapi
咸虾米1 天前
微信小程序通过uni.chooseLocation打开地图选择位置,相关设置及可能出现的问题
vue.js·微信小程序
AAA修煤气灶刘哥1 天前
微信小程序+Spring Boot:三步教你搞定微信小程序登录+Token加密+全局拦截器
spring boot·后端·微信小程序
yw00yw1 天前
小程序插件使用
java·小程序·apache
00后程序员张1 天前
iOS 应用上架常见问题与解决方案,多工具组合的实战经验
android·ios·小程序·https·uni-app·iphone·webview