微信APP支付java代码【详解】 作者:Anmbition话不多说,先源码再解释:
【真实生产代码】
ScanPayReqData scanPayReqData = new ScanPayReqData(null, "立即鉴赏支付", "1", trade_no,
newTotal.intValue(), null,FileUtil.getProperty("product_ip") , DateUtil.format(date, "yyyyMMddHHmmss"), null,null);
Map paymap = WXPay.requestScanPayService(scanPayReqData);
if (paymap == null){ log.info("微信下单失败,");
return InterfaceUtil.getErrorMap(InterfaceContants.SYS_ERROR_CODE, "支付失败!");
}
String return_code = (String) paymap.get("return_code");
String result_code = (String) paymap.get("result_code");
if (!"SUCCESS".equals(return_code)||!"SUCCESS".equals(result_code)){ log.info("微信下单失败");
return InterfaceUtil.getErrorMap(InterfaceContants.SYS_ERROR_CODE, "支付失败!");
}
resultMap.put("appid",(String)paymap.get("appid"));//应用APPID
resultMap.put("noncestr",RandomStringGenerator.getRandomStringByLength(32));//随机字符串
resultMap.put("package","Sign=WXPay");//
resultMap.put("partnerid",(String)paymap.get("mch_id"));//商户号
resultMap.put("prepayid",(String)paymap.get("prepay_id"));//支付标识
resultMap.put("timestamp",timeStrap);//时间戳
resultMap.put("sign",Signature.getSign(resultMap));//签名
里面的核心方法是用的微信APP支付的SDK代码,APP支付相对简单,没有过于复杂的逻辑。主要是几个参数 APPID ,MCH KEY这几个参数别找错了, KEY是自己生成然后在商户平台提交给微信