鸿蒙接入
本文介绍客户方APP嵌入拉卡拉提供的webview或者LKLWebObject方法类:
示例代码
class WebSdk {
controller: webview.WebviewController = new webview.WebviewController()
//去支付宝支付
jumpAlipay(val: string) {
this.openAlipays(val)
}
//打开支付宝
openAlipays(uri: string) {
let context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
let link: string = uri;
let openlinkOptions: OpenLinkOptions = {
appLinkingOnly: false
}
try {
context.openLink(link, openlinkOptions)
.then(() => {
console.log('lkldemo--- 打开成功')
})
.catch((err: BusinessError) => {
console.log('lkldemo--- 打开失败1' + JSON.stringify(err))
})
} catch (paramError) {
console.log('lkldemo--- 打开失败0' + JSON.stringify(paramError))
}
}
//关闭web页面
closeWindow() {
router.back()
}
//去微信支付
jumpWxApplet(userName: string, path: string, programType: number) {
let finished=false;
try {
let appId: string = "wx000000000xxxxxx"; // 填移动应用(App)的 AppId,非小程序的 AppID
let WXApi = wxopensdk.WXAPIFactory.createWXAPI(appId);
let launchMiniProgramReq = new wxopensdk.LaunchMiniProgramReq;
launchMiniProgramReq.userName = userName ; //拉起的小程序的原始id
launchMiniProgramReq.path =path ; //拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
launchMiniProgramReq.miniprogramType = programType ; //拉起小程序的类型 0-正式版 1-开发版 2-体验版
finished = await WXApi.sendReq(getContext(this) as common.UIAbilityContext , launchMiniProgramReq);
console.log('send jump WxMiniProgram request finished: ' + finished);
} catch (error) {
console.log("jump WxMiniProgram error", error.message, null);
}
}
}复制closeWindow方法触发条件
> 收银台模板配置支付完成页标识为直接跳至客户上送的地址,且收银台下单接口不上送callback_url;收银台H5查询到订单状态为终态时触发; >> 订单终态:付款成功、已过期、支付失败 > 注意:订单支付状态APP应以自行查询后台接口为准** 收银台下单 webview 打开收银台H5页面 收银台H5获取商户支付权限 选择支付宝支付 收银台H5预下单 收银台H5调用webview提供的 jumpAlipay 方法打开支付宝付款(scheme方式) 选择微信支付 收银台 H5 调用webview 提供的 jumpWxApplet 方法打开拉卡拉收款宝小程序[微信官方文档](https://developers.weixin.qq.com/doc/oplatform/Mobile_App/Launching_a_Mini_Program/Launching_a_Mini_Program.html) 收款宝小程序做预下单付款复制
代码下载
[LKLPayWebPage.ets]
The End
