// 构建返回给小程序的支付参数
                payParams.put("provider", "wxpay");
                payParams.put("timeStamp", timestamp); // 确保是字符串类型
                payParams.put("nonceStr", nonceStr);
                payParams.put("package", "prepay_id=" + prepayId);
                payParams.put("signType", "MD5");

                SortedMap<String, String> payGetParams = new TreeMap<>();
                payGetParams.put("appId", appId);
                payGetParams.put("nonceStr", nonceStr);
                payGetParams.put("package", "prepay_id=" + prepayId);
                payGetParams.put("signType", "MD5");
                payGetParams.put("timeStamp", timestamp);

                // 生成签名
                String sign = wechatPayService.generateMiniParam(payGetParams);
                payParams.put("paySign", sign);
                String xmlData = wechatPayService.mapToXml(payParams);
                logger.info("微信小程序返回支付请求XML: {}", xmlData);
                // 返回订单信息和支付参数
                Map<String, Object> result = new HashMap<>();
                result.put("order", order);
                result.put("orderNo", order.getOrderNo()); // 明确返回订单号
                result.put("payParams", payParams);

                return success(result);

 返回前端的参数和 生成签名的参数不一致  多一个appID 少了一个provider

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐