客戶方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方法內(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ā)條件:
收銀臺模板配置支付完成頁標(biāo)識為直接跳至客戶上送的地址,且收銀臺下單接口不上送callback_url;收銀臺H5查詢到訂單狀態(tài)為終態(tài)時觸發(fā);
訂單終態(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ù)下單付款
代碼下載
銀聯(lián)統(tǒng)一收銀臺
使用銀聯(lián)統(tǒng)一收銀臺下單支付方式(銀聯(lián)支付, 手機(jī)Pay) 需接入如下SDK:
接入方法
lkl-union-pay.aar為安卓sdk包
代碼混淆忽略:
-keep class com.lakala.unionpay.**{*;}-keep class kotlin.**{*;}復(fù)制LKLUnionCashier類為銀聯(lián)支付入口類,具體集成方式如下圖:
支付結(jié)果以收銀臺系統(tǒng)后臺回調(diào)結(jié)果為準(zhǔn)
SDK文件下載
The End


