4
回答
微信支付开发。遇到问题,求解。

最近在做微信支付开发。遇到了点问题。

<xml>
  <appid>wxe94e1*******</appid>
  <body>3</body>
  <mch_id>1337678***</mch_id>
  <nonce_str>f6cdd75f44ba46dcbe7a2e2eeaef3578</nonce_str>
  <notify_url>http://localhost:8080/wxpay/payResultServlet<;/notify_url>
  <out_trade_no>1</out_trade_no>
  <spbill_create_ip>127.0.0.1</spbill_create_ip>
  <total_fee>2</total_fee>
  <trade_type>NATIVE</trade_type>
  <sign>1F428BB8455419364A5AD2EE******</sign>
</xml>

这是我的xml内容。在官网页测试通过了。

代码测试的时候怎么回签名错误呢,传入的xml格式一样。经过ascii码排序的。


但是他返回的却是签名错误。

这是代码!

public static String sendPost(String url, String param) {
		PrintWriter out = null;
		BufferedReader in = null;
		String result = "";
		try {
			URL realUrl = new URL(url);
			// 打开和URL之间的连接
			HttpURLConnection conn = (HttpURLConnection) realUrl.openConnection();
			// 发送POST请求
			conn.setRequestMethod("POST");
			conn.setDoOutput(true);
			conn.setUseCaches(false);
			// 获取URLConnection对象对应的输出流
			out = new PrintWriter(new OutputStreamWriter(conn.getOutputStream(),"UTF-8"));
			// 发送请求参数
			out.print(param);
			out.flush();
			// 定义BufferedReader输入流来读取URL的响应
			in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
			String line;
			while ((line = in.readLine()) != null) {
				result += line;
			}
		} catch (Exception e) {
			log.info("发送 POST 请求出现异常!" + e);
			e.printStackTrace();
		}
		// 使用finally块来关闭输出流、输入流
		finally {
			try {
				if (out != null) {
					out.close();
				}
				if (in != null) {
					in.close();
				}
			} catch (IOException ex) {
				ex.printStackTrace();
			}
		}
		return result;



求解,求解!!
举报
Prometheusbxb
发帖于1年前 4回/515阅
顶部