最近刚做的一网通支付。mark一下。
我这里做的是2.0版本的一网通支付
一网通开放平台 http://58.61.30.110/OpenAPI2/Default.aspx
看完文档,下载安全键盘的demo,按demo里的文档导入jar包和src文件
在选择支付方式的时候添加一网通支付的按钮如下图:
点击一网通跳转一个新的activity,标题栏自己写,然后就是一个webview展示一网通的h5界面。WebSettings set =webView.getSettings();
set.setJavaScriptEnabled(true);
set.setSaveFormData(false);
set.setSavePassword(false);
set.setSupportZoom(false);
webView.setWebViewClient(newWebViewClient() {
public booleanshouldOverrideUrlLoading(WebView view,String url) {
CMBKeyboardFunc kbFunc =newCMBKeyboardFunc(YwtPayH5Activity.this);
if(url.equals("http://cmbnprm/")) {//这里是最后返回商户按钮的屏蔽
finish();
}
if(kbFunc.HandleUrlCall(webView,url) ==false) {
return super.shouldOverrideUrlLoading(view,url);
}else{
return true;
}
}
});
String data = getIntent().getStringExtra("data");
webView.loadData(html,"text/html","utf-8");
这样这个webView就直接带参访问一网通的地址了,然后就可以展示一网通的h5界面了。再根据人家返回的信息,调整自己的错误吧。
至于这个最关键的data数据,大家可以仔细查看他们官方文档下api的一网通支付api。他们demo里有个java版的里面也有数据的生成。我这里的data是后台直接返回来的,因为设计得到了sign,客户端生成毕竟是弊端的。
最终支付完成,有个坑爹的返回商户的按钮。可以通过他们的键盘事件处理,上边webview中已经调用过了。
mark。