Browse Source

微信app支付接口开发调整

ZhangWenQiang 6 years ago
parent
commit
47f6c97467

+ 5 - 4
happy-job-module-hppay/src/main/java/com/jeeplus/modules/wechatpay/utils/WeChatPay.java

@@ -148,12 +148,13 @@ public class WeChatPay {
                  */
                 params.put("timeStamp", new Date().getTime() + ""); // 时间戳
                 params.put("nonceStr", WxCommonUtil.createNoncestr()); // 随机字符串
-                params.put("package", "prepay_id=" + prepay_id); // 格式必须为prepay_id=***
-                params.put("signType", "MD5"); // 签名的方式必须是MD5
-                params.put("appId", appid); // 签名的方式必须是MD5
+                params.put("prepayid",prepay_id);
+                params.put("package", "Sign=WXPay"); // 暂填写固定值Sign=WXPay
+                params.put("appId", appid); // appid
                 // 生成返回给页面的签名
                 String paySign = WxCommonUtil.createSignMD5("UTF-8", params, api_key);
-                params.put("paySign", paySign); // 支付签名
+                params.put("sign", paySign); // 支付签名
+                params.put("partnerid",mch_id);
                 String json = JSONArray.fromObject(params).toString();
                 output(response, json);
             }

+ 1 - 2
happy-job-module-hpvip/src/main/java/com/jeeplus/modules/api/ordermanager/OrderMinaPayAPI.java

@@ -6,7 +6,6 @@ import com.jeeplus.modules.mporder.entity.MpMemberOrder;
 import com.jeeplus.modules.mporder.service.MpMemberOrderService;
 import com.jeeplus.modules.wechatpay.utils.CommUtil;
 import com.jeeplus.modules.wechatpay.utils.WxCommonUtil;
-import com.sun.xml.internal.rngom.parse.host.Base;
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
 import org.apache.commons.io.output.ByteArrayOutputStream;
@@ -90,7 +89,6 @@ public class OrderMinaPayAPI extends BaseAppController {
             System.out.println("prepay_id====" + prepay_id);
             // 更新订单
             mpMemberOrder.setPrepayId(prepay_id);
-            mpMemberOrder.setPayTime(new Date());
             mpMemberOrderService.save(mpMemberOrder);
             System.out.println("-----------------------------更新订单结束--------");
             response.getWriter().print(resultStr);
@@ -151,6 +149,7 @@ public class OrderMinaPayAPI extends BaseAppController {
                 System.out.println(result + "=====================付款成功后回调2================================");
                 // 返回成功,处理订单状态
                 MpMemberOrder mpMemberOrder = mpMemberOrderService.getByOrderNumber(orderNumber);
+                mpMemberOrder.setPayTime(new Date());
                 mpMemberOrder.setOrderStatus(3);
                 mpMemberOrderService.save(mpMemberOrder);
                 System.out.println("============发送模板消息(下单成功通知)=======================");

+ 2 - 3
happy-job-module-hpvip/src/main/java/com/jeeplus/modules/api/ordermanager/OrderWeChatPayAPI.java

@@ -84,12 +84,10 @@ public class OrderWeChatPayAPI extends BaseAppController {
             System.out.println("resultStrNew====" + resultStrNew);
             // 处理返回值,获取prepay_id
             JSONObject strJson = JSONObject.fromObject(resultStrNew);
-            String prepayStr = strJson.getString("package");
-            String prepay_id = prepayStr.split("=")[1];
+            String prepay_id = strJson.getString("prepayid");
             System.out.println("prepay_id====" + prepay_id);
             // 更新订单
             mpMemberOrder.setPrepayId(prepay_id);
-            mpMemberOrder.setPayTime(new Date());
             mpMemberOrderService.save(mpMemberOrder);
             System.out.println("-----------------------------更新订单结束--------");
             response.getWriter().print(resultStr);
@@ -151,6 +149,7 @@ public class OrderWeChatPayAPI extends BaseAppController {
                 // 返回成功,处理订单状态
                 MpMemberOrder mpMemberOrder = mpMemberOrderService.getByOrderNumber(orderNumber);
                 mpMemberOrder.setOrderStatus(3);
+                mpMemberOrder.setPayTime(new Date());
                 mpMemberOrderService.save(mpMemberOrder);
                 System.out.println("============发送模板消息(下单成功通知)=======================");
                 try {