客戶方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


