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

lakala 5個月前 ( 11-09 ) 302

本文介紹客戶方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方法內(nèi)調(diào)用finish()
       @JavascriptInterface
       public void jumpWxApplet(String userName,String path,String universalLink,int programType) {
   String wxAppid = "wx000000000xxxxxx"; // 填移動應(yīng)用(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;                  ////拉起小程序頁面的可帶參路徑,不填默認(rèn)拉起小程序首頁,對于小游戲,可以只傳入 query 部分,來實現(xiàn)傳參效果,如:傳入 "?foo=bar"。
               req.miniprogramType = programType;//Integer.parseInt(BuildConfig.wxLaunchMin);// 可選打開 開發(fā)版,體驗版和正式版
               api.sendReq(req);
}

else {
   ToastUtils.toast(LklWebViewActivity.this, R.string.wx_install_un);
}
       }

@JavascriptInterface
       public void closeWindow() {
           // 做相關(guān)業(yè)務(wù)操作 例如:跳轉(zhuǎn)或返回到指定頁面
   finish();
}
   }

復(fù)制


closeWindow方法觸發(fā)條件:

  1. 收銀臺模板配置支付完成頁標(biāo)識直接跳至客戶上送的地址,且收銀臺下單接口不上送callback_url;收銀臺H5查詢到訂單狀態(tài)為終態(tài)時觸發(fā);

    1. 訂單終態(tài):付款成功、已過期、支付失敗

注意:訂單支付狀態(tài)APP應(yīng)以自行查詢后臺接口為準(zhǔn)

收銀臺下單

  • webview打開收銀臺H5頁面

  • 收銀臺H5獲取商戶支付權(quán)限

  • 選擇支付寶支付

    • 收銀臺H5預(yù)下單

    • 收銀臺H5調(diào)用webview提供的jumpAlipay方法打開支付寶付款(scheme方式)

  • 選擇微信支付

    • 收銀臺H5調(diào)用webview提供的jumpWxApplet方法打開拉卡拉收款寶小程序 微信官方文檔

    • 收款寶小程序做預(yù)下單付款

代碼下載

LklWebViewActivity.java



銀聯(lián)統(tǒng)一收銀臺

使用銀聯(lián)統(tǒng)一收銀臺下單支付方式(銀聯(lián)支付, 手機(jī)Pay) 需接入如下SDK:

接入方法

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

  2. 代碼混淆忽略:

    -keep class com.lakala.unionpay.**{*;}-keep class kotlin.**{*;}復(fù)制
  3. LKLUnionCashier 類為銀聯(lián)支付入口類,具體集成方式如下圖:

40e88b418497e887ecde48440553859f_1693997507802672.png936556b6b1b1ea07c0557028a3111960_1693997507450005.png


支付結(jié)果以收銀臺系統(tǒng)后臺回調(diào)結(jié)果為準(zhǔn)

SDK文件下載

lkl-union-pay.aar


The End