From 446b7f837b91bd40d2c7c691d5b0358f66b320cd Mon Sep 17 00:00:00 2001 From: Binary Wang Date: Thu, 20 Jul 2017 21:21:54 +0800 Subject: [PATCH] =?UTF-8?q?#284=20=E6=8F=90=E5=8F=96=E5=85=B1=E5=90=8C?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E5=BF=AB=EF=BC=8C=E4=BF=AE=E5=A4=8D=E7=AD=BE?= =?UTF-8?q?=E5=90=8D=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/WxPayServiceAbstractImpl.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java index 8eef3504..7c57e5ed 100644 --- a/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java +++ b/weixin-java-pay/src/main/java/com/github/binarywang/wxpay/service/impl/WxPayServiceAbstractImpl.java @@ -24,6 +24,7 @@ import java.util.Map; * 微信支付接口请求抽象实现类 * Created by Binary Wang on 2017-7-8. * + * * @author Binary Wang */ public abstract class WxPayServiceAbstractImpl implements WxPayService { @@ -196,6 +197,8 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { } Map payInfo = new HashMap<>(); + String timestamp = String.valueOf(System.currentTimeMillis() / 1000); + String nonceStr = String.valueOf(System.currentTimeMillis()); if ("NATIVE".equals(request.getTradeType())) { payInfo.put("codeUrl", unifiedOrderResult.getCodeURL()); } else if ("APP".equals(request.getTradeType())) { @@ -207,8 +210,8 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { configMap.put("prepayid", prepayId); configMap.put("partnerid", partnerid); configMap.put("package", "Sign=WXPay"); - configMap.put("timestamp", String.valueOf(System.currentTimeMillis() / 1000)); - configMap.put("noncestr", String.valueOf(System.currentTimeMillis())); + configMap.put("timestamp", timestamp); + configMap.put("noncestr", nonceStr); configMap.put("appid", appId); // 此map用于客户端与微信服务器交互 payInfo.put("sign", SignUtils.createSign(configMap, this.getConfig().getMchKey())); @@ -216,17 +219,18 @@ public abstract class WxPayServiceAbstractImpl implements WxPayService { payInfo.put("partnerId", partnerid); payInfo.put("appId", appId); payInfo.put("packageValue", "Sign=WXPay"); - payInfo.put("timeStamp", String.valueOf(System.currentTimeMillis() / 1000)); - payInfo.put("nonceStr", String.valueOf(System.currentTimeMillis())); + payInfo.put("timeStamp", timestamp); + payInfo.put("nonceStr", nonceStr); } else if ("JSAPI".equals(request.getTradeType())) { payInfo.put("appId", unifiedOrderResult.getAppid()); // 支付签名时间戳,注意微信jssdk中的所有使用timestamp字段均为小写。但最新版的支付后台生成签名使用的timeStamp字段名需大写其中的S字符 - payInfo.put("timeStamp", String.valueOf(System.currentTimeMillis() / 1000)); - payInfo.put("nonceStr", String.valueOf(System.currentTimeMillis())); + payInfo.put("timeStamp", timestamp); + payInfo.put("nonceStr", nonceStr); payInfo.put("package", "prepay_id=" + prepayId); payInfo.put("signType", "MD5"); payInfo.put("paySign", SignUtils.createSign(payInfo, this.getConfig().getMchKey())); } + return payInfo; }