建议直接用sdk,因为sdk已经集成了自动签名、验签、加密的流程,如果这里新的转账业务,sdk还未支持的情况下,使用自定义http的请求方式即可https://github.com/wechatpay-apiv3/wechatpay-java?tab=readme-ov-file#%E5%8F%91%E9%80%81-http-%E8%AF%B7%E6%B1%82
错误的签名,验签失败?文档地址:https://pay.weixin.qq.com/doc/v3/merchant/4012716434 [图片][图片][图片]
01-16还请参照排查指引错误根据文档排查:https://developers.weixin.qq.com/community/develop/article/doc/0004eae4f94c981f6c101ba7e6d813 并配合签名验证工具https://pay.weixin.qq.com/docs/merchant/sdk-tools/signature-verification-tool.html进行排查。 另外,建议直接用sdk,因为sdk已经集成了自动签名、验签、加密的流程,如果这里新的转账业务,sdk还未支持的情况下,使用自定义http的请求方式即可https://github.com/wechatpay-apiv3/wechatpay-java?tab=readme-ov-file#%E5%8F%91%E9%80%81-http-%E8%AF%B7%E6%B1%82
错误的签名,验签失败我在调用微信商家转账的时候,为什么总是提示错误的签名,验签失败呢? 我的微信退款都是正常的, 这个是我请求签名的body 很疑惑啊! { "transfer_scene_report_infos" : [ { "info_type" : "活动名称", "info_content" : "团长佣金提现" }, { "info_type" : "奖励说明", "info_content" : "业务推广佣金" } ], "transfer_amount" : 20, "openid" : "oejHs6y1_bptfZN4WJH2122222222222222222kzr8w", "appid" : "wxf431cd56222222222ae5d", "out_bill_no" : "456213978", "user_recv_perception" : "现金营销", "transfer_scene_id" : "1000", "transfer_remark" : "openId" } public String getToken(String method, HttpUrl url, String body) throws SignatureException, NoSuchAlgorithmException, InvalidKeyException, UnsupportedEncodingException { String nonceStr = WXPayUtil.generateNonceStr(); //WXPayUtil是微信支付自带的sdk long timestamp = System.currentTimeMillis() / 1000; //生成时间戳 //需要加密的参数 String canonicalUrl = url.encodedPath(); if (url.encodedQuery() != null) { canonicalUrl += "?" + url.encodedQuery(); } String parameter = method + "\n" + canonicalUrl + "\n" + timestamp + "\n" + nonceStr + "\n" + body + "\n"; //对参数进行加密 byte[] bytes = parameter.getBytes(StandardCharsets.UTF_8); Signature sign = Signature.getInstance("SHA256withRSA"); PrivateKey privateKey = PemUtil.loadPrivateKeyFromPath(ConstantPropertiesUtils.PEM); //privateKeyPath是商户证书密钥的位置apiclient_key.pem sign.initSign(privateKey); //商户密钥文件路径 sign.update(bytes); String signature = Base64.getEncoder().encodeToString(sign.sign()); //获取token String token = "mchid=\"" + ConstantPropertiesUtils.PARTNER + "\"," //商户号 + "nonce_str=\"" + nonceStr + "\"," + "timestamp=\"" + timestamp + "\"," + "serial_no=\"" + ConstantPropertiesUtils.MERCHANT + "\"," //merchantSerialNumber是微信支付中申请的证书序列号 + "signature=\"" + signature + "\""; String schema = "WECHATPAY2-SHA256-RSA2048 "; //注意有一个空格 return schema + token; } {"code":"SIGN_ERROR","detail":{"detail":{"issue":"sign not match"},"field":"signature","location":"authorization","sign_information":{"method":"POST","sign_message_length":414,"truncated_sign_message":"POST\n/v3/fund-app/mch-transfer/transfer-bills\n1737012721\na1bb4289f3e3472c8bb4a3085824218e\n{\"transf\n","url":"/v3/fund-app/mch-transfer/transfer-bills"}},"message":"错误的签名,验签失败"}
01-16还请按照提示前往商户平台查看被限制原因
商户进件被限制,查看不到原因?进件特约商户突然不能申请了 [图片]
01-16还请参照https://developers.weixin.qq.com/community/develop/doc/000ee691ad880010c47147b9b67800?_at=1737008363629 进行排查
小程序发货信息录入一直报 10060001 支付单不存在微信订单号(transaction_id)是正确的
01-16现金营销的场景下,多个字段的情况下,这里要传入类似这样的,info_type包含活动名称跟奖励说明 [ 18 { 19 "info_type" : "活动名称", 20 "info_content" : "新会员有礼" 21 }, 22 { 23 "info_type" : "奖励说明", 24 "info_content" : "注册会员抽奖一等奖" 25 } 26 ]
v3商家转账?[图片][图片] Client error: `POST https://api.mch.weixin.qq.com/v3/fund-app/mch-transfer/transfer-bills` resulted in a `400 Bad Request` response: {"code":"PARAM_ERROR","message":"需传入转账场景报备信息,请检查"} 传入了还说没传
01-16这里可以参考下这个错误说明 [图片]
2025年新上线的商家转账功能java版本自定义httpClient调用接口订单成功,但是接口报错?官方源码中还没有封装这个功能的service,所以用的自定义httpclient [图片] 商家中间已经有这个订单的流水,但是接口报错,报错的返回体内有这个订单的所有信息,就是文档的正常返回体,这个是为什么 [图片]
01-16这个是需要你们请求的时候携带过去,你这个截图看起来像是我们这边响应的请求头内容
商家转账报错HTTP header缺少微信支付平台证书序列号(Wechatpay-Serial)[图片]
01-16实际出口ip配置的问题,你们服务器如果有多个出口ip,那么这里都需要配置,如果数量比较多,建议让运维将出口ip统一下
商家转账提示此IP地址不允许调用该接口?[图片] [图片] 已经配置了IP,为什么提示不允许调用呢?
01-16具体跟实际业务有关联,金额的区间限制会由微信侧的运营提供给商户
微信支付分,免押金、免预付费、先享后付 有金额限制吗微信支付分,免押金、免预付费、先享后付 有金额限制吗
01-16不影响的,这个扣款用原商户跟原来的对应模板id扣款就可以了,这里appid跟商户号有绑定关系即可
切换公众号是否影响签约自动扣费现在基于老公众号已对部份客户进行签约绑定,需要将老公众号下线,绑定新公众号,但是商户号不变,这样在绑定老公众号时已签约的客户能否在切换到新公众号后成功进行划扣
01-16