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,你就可以选择自己喜欢的接入方式来进行了。