一、流程
- 向招行申請(qǐng)測試對(duì)接一網(wǎng)通,招行提供一網(wǎng)通測試信息
- 按照招行一網(wǎng)通開放文檔用測試信息一步一步進(jìn)行,保留測試結(jié)果
- 向招行提交測試報(bào)告并申請(qǐng)生產(chǎn)狀態(tài)信息
- 修改測試信息為生產(chǎn)信息,開始使用
二、Android端對(duì)接
1 按照Android對(duì)接文檔導(dǎo)入lib,res和Manifest里的配置
Paste_Image.png
2 添加一網(wǎng)通支付界面 包括Title(便于返回)和webview(加載一網(wǎng)通支付)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<include layout="@layout/layout_title" />
<ProgressBar
android:id="@+id/progressBar"
style="@style/ProgressBar_Mini"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:maxHeight="@dimen/dp_3"
android:minHeight="@dimen/dp_3"
android:visibility="gone" />
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/white"
android:scrollbars="none" />
</LinearLayout>
3 添加activity處理數(shù)據(jù)
- 主要是WebViewClient
webView = (WebView) findViewById(R.id.webView);
bar = (ProgressBar) findViewById(R.id.progressBar);
WebSettings set = webView.getSettings();
set.setJavaScriptEnabled(true);
set.setSaveFormData(false);
set.setSavePassword(false);
set.setSupportZoom(false);
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
CMBKeyboardFunc kbFunc = new CMBKeyboardFunc(TestActivity.this);
if (url.equalsIgnoreCase("http://cmbnprm/")) {//這里是最后返回商戶按鈕的屏蔽
finish();
}
return kbFunc.HandleUrlCall(webView, url) || super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
bar.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
bar.setVisibility(View.GONE);
}
});
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
super.onProgressChanged(view, newProgress);
bar.setProgress(newProgress);
}
});
- 自動(dòng)提交
private String getHtml(String data) { String html = "<form id=\"paysubmit\" name=\"paysubmit\" action=\"http://61.144.248.29:801/netpayment/BaseHttp.dll?MB_EUserPay\"\n" + " method=\"post\">\n" + " <input type=\"hidden\" name=\"jsonRequestData\" value='" + data + "'/>\n" + " <input style=\"display: none\" type=\"submit\" value=\"提交\" />\n" + "</form>\n" + "<script>document.forms['paysubmit'].submit();</script>"; return html;}
- webView.loadData(getHtml(由服務(wù)器返回),"text/html","utf-8");
三、服務(wù)器對(duì)接流程
- 導(dǎo)入服務(wù)器Demo
- 修改配置信息為招行提供的測試信息
- 按照招行開放文檔對(duì)接支付API 和 支付成功回調(diào) 簽約成功回調(diào)(** * 注意 測試回調(diào)使用ip+端口方式 * **)
- 為移動(dòng)端提供提交數(shù)據(jù)接口
招行一網(wǎng)通開放文檔地址點(diǎn)此打開招行一網(wǎng)通開放文檔