瀏覽代碼

微信支付

傅行帆 5 年之前
父節點
當前提交
43f72b3b0a

+ 13
- 0
src/main/java/com/huiju/estateagents/common/CommConstant.java 查看文件

@@ -676,6 +676,19 @@ public class CommConstant {
676 676
      */
677 677
     public static final String PAY_STATUS_REFUNDED = "refunded";
678 678
 
679
+
680
+    /**
681
+     * 已经取消支付
682
+     *
683
+     */
684
+    public static final String PAY_STATUS_CANCEL = "cancel";
685
+
686
+    /**
687
+     * 支付超时
688
+     *
689
+     */
690
+    public static final String PAY_STATUS_TIMEOUT = "timeout";
691
+
679 692
     /**
680 693
      * 最大认筹金额
681 694
      */

+ 11
- 7
src/main/java/com/huiju/estateagents/service/impl/WxPayServiceImpl.java 查看文件

@@ -112,14 +112,15 @@ public class WxPayServiceImpl implements IWxPayService {
112 112
         //第二次重新生成签名
113 113
         Map<String, String> secondSignData = new HashMap<String, String>();
114 114
         long timestamp = Instant.now().getEpochSecond();
115
-        secondSignData.put("appid", config.getAppID());
116
-        secondSignData.put("partnerid", config.getMchID());
117
-        secondSignData.put("prepayid", resp.get("prepay_id"));
118
-        secondSignData.put("noncestr", resp.get("nonce_str"));
119
-        secondSignData.put("timestamp", String.valueOf(timestamp));
120
-        secondSignData.put("package", "Sign=WXPay");
115
+        secondSignData.put("appId", config.getAppID());
116
+        secondSignData.put("nonceStr", resp.get("nonce_str"));
117
+        secondSignData.put("timeStamp", String.valueOf(timestamp));
118
+        secondSignData.put("package", "prepay_id="+resp.get("prepay_id"));
119
+        secondSignData.put("signType", WXPayConstants.SignType.MD5.toString());
121 120
         secondSignData.put("sign", WXPayUtil.generateSignature(secondSignData, config.getKey(), WXPayConstants.SignType.MD5));
122 121
 
122
+        //        secondSignData.put("partnerid", config.getMchID());
123
+//        secondSignData.put("prepayid", resp.get("prepay_id"));
123 124
         log.info("订单: {},订单类型: {}, 状态变更为正在支付", taOrder.getTradeNo(), taOrder.getTargetType());
124 125
 
125 126
         // 更改认筹单单状态 为正在支付,并插入订单表
@@ -229,6 +230,10 @@ public class WxPayServiceImpl implements IWxPayService {
229 230
 
230 231
             //校验并自动解锁
231 232
             autoUnLockingHouse(taRaiseRecord,taRaiseHouse,taHousingResources);
233
+
234
+            //取消订单
235
+            taOrder.setPayStatus(CommConstant.PAY_STATUS_CANCEL);
236
+            taOrderMapper.updateById(taOrder);
232 237
         }
233 238
     }
234 239
 
@@ -441,7 +446,6 @@ public class WxPayServiceImpl implements IWxPayService {
441 446
 
442 447
         //更改支付状态并插入订单id
443 448
         TaRaiseRecord taRaiseRecord = taRaiseRecordMapper.selectById(taOrder.getTargetId());
444
-        taRaiseRecord.setPayStatus(CommConstant.PAY_STATUS_PAYING);
445 449
         taRaiseRecord.setOrderId(taOrder.getOrderId());
446 450
         taRaiseRecordMapper.updateById(taRaiseRecord);
447 451
     }