问题:最近在与某支付做对接,遇到了几个大坑,目前还在对接,先把遇到的坑记录下
在调用支付接口时,需要先调用他们的时间接口,生成一个时间戳出来,在生成这个时间戳时,我快被玩死了
坑一:httpcline.jar 不同版本的jar包,对jdk是有要求的,4.5以上的貌似需要jdk 1.5 以上,具体多少我没测试过, 4.3以下的可以用jdk 1.5 ;他们开发还怼我说关JDK什么事啊
坑二:按照他们的文档把调用接口,总是报参数错误
解决:在请求他们的url时,加入一个请求头
坑三:支付接口总是报时间戳校验失败
目前还没有解决,ing......
在调用支付接口时,需要先调用他们的时间接口,生成一个时间戳出来,在生成这个时间戳时,我快被玩死了
坑一:httpcline.jar 不同版本的jar包,对jdk是有要求的,4.5以上的貌似需要jdk 1.5 以上,具体多少我没测试过, 4.3以下的可以用jdk 1.5 ;他们开发还怼我说关JDK什么事啊
坑二:按照他们的文档把调用接口,总是报参数错误
解决:在请求他们的url时,加入一个请求头
public static JSONObject doPostStr(String url,String outStr) throws ParseException, IOException {
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httpost = new HttpPost(url);
//请求头
httpost.addHeader("Content-Type","application/x-www-form-urlencoded");
JSONObject jsonObject = null;
httpost.setEntity(new StringEntity(outStr,"UTF-8"));
HttpResponse response = client.execute(httpost);
String result = EntityUtils.toString(response.getEntity(),"UTF-8");
jsonObject = JSONObject.fromObject(result);
return jsonObject;
}
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httpost = new HttpPost(url);
//请求头
httpost.addHeader("Content-Type","application/x-www-form-urlencoded");
JSONObject jsonObject = null;
httpost.setEntity(new StringEntity(outStr,"UTF-8"));
HttpResponse response = client.execute(httpost);
String result = EntityUtils.toString(response.getEntity(),"UTF-8");
jsonObject = JSONObject.fromObject(result);
return jsonObject;
}
坑三:支付接口总是报时间戳校验失败
目前还没有解决,ing......