客户方APP嵌入拉卡拉提供的webview或者LKLWebObject方法
本文介绍客户方APP嵌入拉卡拉提供的webview或者LKLWebObject方法类:
示例代码
private class LklJsInterface {
@JavascriptInterface
public void jumpAlipay(String url){
Intent intent = new Intent();
intent.setAction("android.intent.action.VIEW");
Uri content_url = Uri.parse(url);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setData(content_url);
startActivity(intent);
}
// 微信返回到APP时会自带一个遮罩 需要在onResp方法内调用finish()
@JavascriptInterface
public void jumpWxApplet(String userName,String path,String universalLink,int programType) {
String wxAppid = "wx000000000xxxxxx"; // 填移动应用(App)的 AppId,非小程序的 AppID
IWXAPI api = WXAPIFactory.createWXAPI(LklWebViewActivity.this, wxAppid);
if(api.isWXAppInstalled()){
WXLaunchMiniProgram.Req req = new WXLaunchMiniProgram.Req();
req.userName = userName;//BuildConfig.wxMinUserName; // 填小程序原始id
req.path = path;//BuildConfig.wxMinPage; ////拉起小程序页面的可带参路径,不填默认拉起小程序首页,对于小游戏,可以只传入 query 部分,来实现传参效果,如:传入 "?foo=bar"。
req.miniprogramType = programType;//Integer.parseInt(BuildConfig.wxLaunchMin);// 可选打开 开发版,体验版和正式版
api.sendReq(req);
}
else {
ToastUtils.toast(LklWebViewActivity.this, R.string.wx_install_un);
}
}
@JavascriptInterface
public void closeWindow() {
// 做相关业务操作 例如:跳转或返回到指定页面
finish();
}
}复制
closeWindow方法触发条件:
收银台模板配置支付完成页标识为直接跳至客户上送的地址,且收银台下单接口不上送callback_url;收银台H5查询到订单状态为终态时触发;
订单终态:付款成功、已过期、支付失败
注意:订单支付状态APP应以自行查询后台接口为准
收银台下单
webview打开收银台H5页面
收银台H5获取商户支付权限
选择支付宝支付
收银台H5预下单
收银台H5调用webview提供的jumpAlipay方法打开支付宝付款(scheme方式)
选择微信支付
收银台H5调用webview提供的jumpWxApplet方法打开拉卡拉收款宝小程序 微信官方文档
收款宝小程序做预下单付款
代码下载
银联统一收银台
使用银联统一收银台下单支付方式(银联支付, 手机Pay) 需接入如下SDK:
接入方法
lkl-union-pay.aar为安卓sdk包
代码混淆忽略:
-keep class com.lakala.unionpay.**{*;}-keep class kotlin.**{*;}复制LKLUnionCashier类为银联支付入口类,具体集成方式如下图:
支付结果以收银台系统后台回调结果为准
SDK文件下载
The End


