Android MyCard支付

Posted 帅次

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android MyCard支付相关的知识,希望对你有一定的参考价值。

MyCard支付:

1、通过商务联系MyCard进行技术对接,获得最新MyCardPaySDK.jar和接入文档
2、导入MyCardPaySDK.jar
3、根据MyCard提供文档设置androidManifest.xml
4、根据自身需求确定是走SDK支付方式还是WebView支付方式
4-1、SDK支付方式
        MyCardSDK sdk = new MyCardSDK(activity);
        //flag   true代表测试环境,false代表正式环境
        sdk.StartPayActivityForResult(flag, bean.getAuthCode());

        // 通过onActivityResult接收SDK結果
        if (requestCode == Config.Payment_RequestCode)
            if( resultCode == -1)
            
                JSONObject js = null;
                try
                    js = new JSONObject(data.getStringExtra(Config.PaySDK_Result));
                    MLog.e(data.getStringExtra(Config.PaySDK_Result));
                    if (js.optInt("returnCode") == 1 && js.optInt("payResult") == 3)
                        String orderNo = js.getString("facTradeSeq");
                        //进行你的操作
                    
                 catch (JSONException e)
                    e.printStackTrace();
                 catch (Exception e)
                
            else
            
        

4-2、WEB支付方式

使用 HTTP POST / GET 傳送參數
测试环境链接(http(s)://testb2b.mycard520.com.tw/MyBillingPay/v1.2/*)、正式环境链接(https://b2b.mycard520.com.tw/MyBillingPay/v1.2/*)不搞混乱就好,后面拼接字段需要注意(当然让服务端拼接好所有参数把连接扔给我们最好) 这个是 必须要接入的,使用 MyCard、街口、Line Pay 等第三方 App 進行支付,需進行下列設定:

private class MyWebViewClient extends WebViewClient
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
            if (url.startsWith("http:") || url.startsWith("https:"))
                return false;
            else
                MLog.e("shouldOverrideUrlLoading");
                  try
                    Intent intent;
                    if (url.startsWith("intent://")) //MyCard、Line
                        intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                     else /
                        intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    
                    startActivity(intent);
                 catch (Exception e)
                    MLog.e("Exception:"+e.getMessage());
                   //也可以在这里执行跳转到应用市场下载所需要的支付软件
                    MyToast.showMessage(“未安装APP无法跳转”);

                
                return true;
           
//            return super.shouldOverrideUrlLoading(view, url);
       
        @Override
        public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)
            //接受证书
            handler.cancel();// 接受所有网站的证书
       

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon)
            super.onPageStarted(view, url, favicon);
       

        @Override
        public void onPageFinished(WebView view, String url)
            super.onPageFinished(view, url);
       

        @SuppressWarnings("deprecation")
        @Override
        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
            super.onReceivedError(view, errorCode, description, failingUrl);
       

        @TargetApi(android.os.Build.VERSION_CODES.M)
        @Override
        public void onReceivedError(WebView view, WebResourceRequest req, WebResourceError rerr)
            onReceivedError(view, rerr.getErrorCode(), rerr.getDescription().toString(), req.getUrl().toString());
       
   

这里仅供参考,等你要接入的时候mycard支付渠道会给你最新的文档和jar,你就可以选择自己喜欢的接入方式来进行了。

Google Pay支付

ONE store支付

以上是关于Android MyCard支付的主要内容,如果未能解决你的问题,请参考以下文章

(转载)Android支付宝支付封装代码

雷电爆裂之力

Android中集成第三方支付

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台

android 集成支付宝app支付(原生态)-包括android前端与java后台