- wx.requestCommonPayment调用报错说是签名错误?这是我的签名代码
public static Map getSignature(WxPayConfig wxPayConfig, WeChatBasePayDTO weChatBasePayDTO) { Map payParams = getB2bParams(wxPayConfig, weChatBasePayDTO); String postBody = JSONUtil.toJsonStr(payParams); Map params = new HashMap<>(); params.put("singData", postBody); String s = calcSignature(postBody, weChatBasePayDTO.getSessionKey()); params.put("signature", s); return params; } //封装参数 public static Map getB2bParams(WxPayConfig wxPayConfig, WeChatBasePayDTO basePayData) { Map paramsMap = new HashMap<>(); // 基础信息 paramsMap.put("mchid", wxPayConfig.getMchId()); paramsMap.put("env", basePayData.getEnv()); paramsMap.put("attach","test_attach"); paramsMap.put("description", basePayData.getDescription()); paramsMap.put("out_trade_no", basePayData.getOrderNum()); // 金额信息 paramsMap.put("amount", buildB2bAmountMap(basePayData)); return paramsMap; } /** * 构建b2b金额信息Map */ private static Map buildB2bAmountMap(WeChatBasePayDTO basePayData) { Map amountMap = new HashMap<>(); amountMap.put("order_amount", basePayData.getPrice().multiply(new BigDecimal("100")).intValue()); /* amountMap.put("currency", StringUtils.isNotBlank(basePayData.getCurrency()) ? basePayData.getCurrency() : "CNY");*/ return amountMap; } /** * 计算 signature(用户登录态签名) * @param postBody 参与签名的post body(JSON字符串,必须和实际请求完全一致) * @param sessionKey 当前用户有效的session_key * @return signature 签名字符串(小写16进制) */ public static String calcSignature(String postBody, String sessionKey) { try { Mac hmacSha256 = Mac.getInstance("HmacSHA256"); SecretKeySpec keySpec = new SecretKeySpec(sessionKey.getBytes(StandardCharsets.UTF_8), "HmacSHA256"); hmacSha256.init(keySpec); byte[] hash = hmacSha256.doFinal(postBody.getBytes(StandardCharsets.UTF_8)); return bytesToHex(hash); } catch (Exception e) { throw new RuntimeException("签名计算失败", e); } } /** * 字节数组转16进制字符串(小写) */ private static String bytesToHex(byte[] bytes) { StringBuilder hexString = new StringBuilder(); for (byte b : bytes) { String hex = Integer.toHexString(0xFF & b); if (hex.length() == 1) { hexString.append('0'); } hexString.append(hex); } return hexString.toString(); } {"paySig":"521db8172f08fc1dab65d834863f8b7ff0f9113c966662da9e08d10e9ffc266a","signature":"172032dfac37ee2f0aa6973743acdd871527bb7bc57a6fc7bc4fe020d3100898","singData":"{"amount":{"orderAmount":200,"currency":"CNY"},"mchid":"1722637185","out_trade_no":"202508060077","description":"优香岛味精90g"}"} 现在哪里有问题,哪里有错误呢?有大佬知道的话可以帮我看看吗
星期三 11:30 - wx.requestCommonPayment调用报错说是签名错误?
[图片][图片][图片] 这个情况下到底是哪里出错了导致签名没有创建对呢?
星期三 10:17 - b2b支付的调用,这个后端怎么调用啊,没有接口吗,还是说只能前端去调用呢?
[图片]
08-04 - 微信小程序b2b支付没有后端调用的API吗?
[图片]在这里我只看到了一个前端调用的API没有后端调用的API生成一个预下单的数据吗?
07-17 - 调用微信支付合并下单API(JSPAPI)提示没有权限,问题是商户已经开通了权限?
[图片] 商户号是:1711353377 2025-07-07 15:03:18.880 ERROR 8900 --- [nio-8086-exec-2] c.szeastroc.mall.base.utils.WxPayCommon : 合单支付失败 status=403 body={"code":"NO_AUTH","message":"商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"} 2025-07-07 15:03:18.881 INFO 8900 --- [nio-8086-exec-2] c.wpt.common.exception.ExceptionAspect : ------------------------------------------ 2025-07-07 15:03:18.881 INFO 8900 --- [nio-8086-exec-2] c.wpt.common.exception.ExceptionAspect : 系统开小差了,请稍后重试,错误信息为:合单支付请求异常:{"code":"NO_AUTH","message":"商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"} 2025-07-07 15:03:18.881 INFO 8900 --- [nio-8086-exec-2] c.wpt.common.exception.ExceptionAspect : 合单支付请求异常:{"code":"NO_AUTH","message":"商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"} 2025-07-07 15:03:18.881 INFO 8900 --- [nio-8086-exec-2] c.wpt.common.exception.ExceptionAspect : ------------------------------------------ java.lang.RuntimeException: 合单支付请求异常:{"code":"NO_AUTH","message":"商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"} 这是错误信息说是没有权限,这是为什么,这个是在小程序中调用的JSPAPI 求大佬帮助一下吧!
07-07 - 公众号快速注册并认证小程序,只能每个月认证一个吗?
[图片]我公司重新上月重新申请的一个新的公众号,这个月月初需要注册2个小程序,目前已经注册一个了,使用第二个的时候提示我只能一个月注册一个,这个我都没有看到哪里有说明的,为什么我之前的公众号又可以注册多个呢
03-05 - 开通小程序消息推送配置,出现了问题?
[图片]这个配置之后保存出现了问题该怎么操作阿!
02-12 - 小程序消息推送的模板只能选择一次性的,但是一次性的就一次机会,我要后面没做一个单据就需要给别人提醒?
[图片][图片] 我这边发送消息的时候都是一直报错说是无效的openId,这个小程序的openId不行吗
02-12 - 消息推送开通错误?
[图片][图片] 还是离谱的阿,我这边需要开通一个消息提醒,我去开通这个消息推送的,但是直接给我说系统错误,真牛逼阿!
02-10 - 咋的,我备案审核不通过,现在原因都不给我了?
[图片][图片]
01-21