docs: public static PayDownloadfundflowResult payDownloadfundflow(PayDownloadfundflow payDownloadfundflow,String key){
  		Map<String,String> map = MapUtil.objectToMap(payDownloadfundflow);
  		String sign_type = map.get("sign_type");
  		//设置默认签名类型HMAC-SHA256
  		if(sign_type == null || "".equals(sign_type)){
  			sign_type = "HMAC-SHA256";
  		}
  		String sign = SignatureUtil.generateSign(map,sign_type,key);
  		payDownloadfundflow.setSign(sign);
  		String xmlData = XMLConverUtil.convertToXML(payDownloadfundflow);
  		HttpUriRequest httpUriRequest = RequestBuilder.post()
  				.setHeader(xmlHeader)
  				.setUri(baseURI()+ "/pay/downloadfundflow")
  				.setEntity(new StringEntity(xmlData,Charset.forName("utf-8")))
  				.build();
  		return LocalHttpClient.keyStoreExecute(payDownloadfundflow.getMch_id(),httpUriRequest,new ResponseHandler<PayDownloadfundflowResult>() {
  	
  					@Override
  					public PayDownloadfundflowResult handleResponse(HttpResponse response)
  							throws ClientProtocolException, IOException {
  						int status = response.getStatusLine().getStatusCode();
  						if (status >= 200 && status < 300) {
  							HttpEntity entity = response.getEntity();
  							String str;
  							//GZIP
  							if (entity.getContentType().getValue().matches("(?i).*gzip.*")) {
  								str = StreamUtils.copyToString(new GZIPInputStream(entity.getContent()),
  										Charset.forName("UTF-8"));
  							} else {
  								str = EntityUtils.toString(entity, "utf-8");
  							}
  							EntityUtils.consume(entity);
  							if (str.matches(".*<xml>(.*|\\n)+</xml>.*")) {
  								return XMLConverUtil.convertToObject(PayDownloadfundflowResult.class, str);
  							} else {
  								PayDownloadfundflowResult dr = new PayDownloadfundflowResult();
  								dr.setData(str);
  								// 获取返回头数据 签名信息
  								Header headerDigest = response.getFirstHeader("Digest");
  								if (headerDigest != null) {
  									String[] hkv = headerDigest.getValue().split("=");
  									dr.setSign_type(hkv[0]);
  									dr.setSign(hkv[1]);
  								}
  								return dr;
  							}
  						} else {
  							throw new ClientProtocolException("Unexpected response status: " + status);
  						}
  					}
  		});
  	}