客户方APP嵌入拉卡拉提供的webview或者LKLWebObject方法

lakala 1周前 ( 11-09 17:59 ) 64

本文介绍客户方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方法触发条件:

  1. 收银台模板配置支付完成页标识直接跳至客户上送的地址,且收银台下单接口不上送callback_url;收银台H5查询到订单状态为终态时触发;

    1. 订单终态:付款成功、已过期、支付失败

注意:订单支付状态APP应以自行查询后台接口为准

收银台下单

  • webview打开收银台H5页面

  • 收银台H5获取商户支付权限

  • 选择支付宝支付

    • 收银台H5预下单

    • 收银台H5调用webview提供的jumpAlipay方法打开支付宝付款(scheme方式)

  • 选择微信支付

    • 收银台H5调用webview提供的jumpWxApplet方法打开拉卡拉收款宝小程序 微信官方文档

    • 收款宝小程序做预下单付款

代码下载

LklWebViewActivity.java



银联统一收银台

使用银联统一收银台下单支付方式(银联支付, 手机Pay) 需接入如下SDK:

接入方法

  1. lkl-union-pay.aar为安卓sdk包

  2. 代码混淆忽略:

    -keep class com.lakala.unionpay.**{*;}-keep class kotlin.**{*;}复制
  3. LKLUnionCashier 类为银联支付入口类,具体集成方式如下图:

40e88b418497e887ecde48440553859f_1693997507802672.png936556b6b1b1ea07c0557028a3111960_1693997507450005.png


支付结果以收银台系统后台回调结果为准

SDK文件下载

lkl-union-pay.aar


The End