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

lakala 7小時前 17:59:56 7

本文介紹客戶方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