Android招行一网通对接

一、流程

  • 向招行申请测试对接一网通,招行提供一网通测试信息
  • 按照招行一网通开放文档用测试信息一步一步进行,保留测试结果
  • 向招行提交测试报告并申请生产状态信息
  • 修改测试信息为生产信息,开始使用

二、Android端对接

1 按照Android对接文档导入lib,res和Manifest里的配置

Paste_Image.png

2 添加一网通支付界面 包括Title(便于返回)和webview(加载一网通支付)

<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处理数据

  • 主要是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); 
       }
});
  • 自动提交
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(由服务器返回),"text/html","utf-8");

三、服务器对接流程

  • 导入服务器Demo
  • 修改配置信息为招行提供的测试信息
  • 按照招行开放文档对接支付API 和 支付成功回调 签约成功回调(** * 注意 测试回调使用ip+端口方式 * **)
  • 为移动端提供提交数据接口

招行一网通开放文档地址点此打开招行一网通开放文档

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,751评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,258评论 19 139
  • WebView·开车指南 2016-08-31BugDev 北京市东城区首席Bug布道师开山之作,一整月交通事故血...
    53c021c38a1d阅读 864评论 0 1
  • 7.26 梦见我的床在上铺,洞里过去有一个小空间可以工作。再走过去,有一个集市,其中有一个犹太人讲希腊语,谈话之中...
    AnnaSun0705阅读 201评论 0 2
  • 总在心里想了一对要做的,想做的,却都没有去实践。 也没有什么理由,估计就是懒吧。 无数次想提起努力开朗的感觉,却都...
    Wentyrao阅读 95评论 0 0