先看看你本地/服务器/代理网关的证书链是否含最新的CA证书,具体参考这里: https://pay.weixin.qq.com/index.php/public/cms/content_detail?lang=zh&id=132004
api调用出现Remote host terminated the handshake错误如何解决?场景:微信固码扫码小程序支付,在进行用户openid授权时,调用https://api.weixin.qq.com/sns/jscode2session接口偶现Remote host terminated the handshake错误。目前经过日志检查发现该错误每天有几千次。除了该接口外,api.mch.weixin.qq.com域名下的部分接口也有该问题。 2024年8月29日11:46 在云出口抓包,情况如下,可以发现在8月29日11:09-11:12之间,有5个IP会话,在抓包时间段内,该ip会话存在失败的tcp会话,tcp建联失败,sync包有发出,未收到回复。继续在互联网出口抓包,同样的sync包被抓到,未返回,初步判断为互联网端未返回握手包, [图片][图片][图片][图片]
09-04这是官方探测流量,标识别为 WECHATPAY/SIGNTEST
微信支付使用api处理回调,解密失败?String wechatSignature = request.getHeader("Wechatpay-Signature"); String wechatPaySerial = request.getHeader("Wechatpay-Serial"); String wechatpayNonce = request.getHeader("Wechatpay-Nonce"); String wechatTimestamp = request.getHeader("Wechatpay-Timestamp"); // inputSteam转为string String requestBody = null; InputStream inputStream = null; try { inputStream = request.getInputStream(); StringBuilder sb = new StringBuilder(); String line; BufferedReader br = new BufferedReader(new InputStreamReader(inputStream, StandardCharsets.UTF_8)); while ((line = br.readLine()) != null) { sb.append(line); } requestBody = sb.toString(); } catch (IOException e) { e.printStackTrace(); } // 构造 RequestParam RequestParam requestParam = new RequestParam.Builder() .serialNumber(wechatPaySerial) .nonce(wechatpayNonce) .signature(wechatSignature) .timestamp(wechatTimestamp) .body(requestBody) .build(); // 如果已经初始化了 RSAAutoCertificateConfig,可直接使用 // 没有的话,则构造一个 NotificationConfig config = new RSAAutoCertificateConfig.Builder() .merchantId(merchantId) .privateKeyFromPath(privateKeyPath) .merchantSerialNumber(merchantSerialNumber) .apiV3Key(apiV3Key) .build(); // 初始化 NotificationParser NotificationParser parser = new NotificationParser(config); 这是回调的代码。用的官方api <dependency> <groupId>com.github.wechatpay-apiv3</groupId> <artifactId>wechatpay-java</artifactId> <version>0.2.12</version> </dependency> [图片] 关键的地方是 我在商户平台看不到这个报错触发的时间的附近 2个小时之内 都没有支付的订单,因为功能是早上的。报错是晚上报错的。 有没有可能别人的回调到我这里来了?然后解密失败。我在报错之后 自己尝试了一下支付 是没有问题的。
09-04你这是“商户证书”过期了,需要重新生成apiclient_cert.pem 文件
微信平台证书已过期,需要更换证书,如何解决?问题描述:微信平台证书已过期,导致线上出现问题,按照官网文档处理也一直解决不了 调用接口【https://api.mch.weixin.qq.com/v3/certificates】获取证书,一直提示【商户证书已过期】;使用平台证书下载工具【Certificate Downloader】获取证书,也是提示【商户证书已过期】;按照平台证书更换指引,进行灰度启动,也没有出现新证书。[图片] 接口方式调用证书,提示商户证书已过期[图片]工具方式获取证书,提示证书已过期[图片]按照平台证书更换操作指引进行灰度处理,结果新证书是空的[图片]
09-03出资方不同时,比如微信垫资、保险公司垫资,就会有多行记录
支付分的回调通知,transaction_id为什么会有多个?什么情况下会有多个不同的?[图片]
09-03https://pay.weixin.qq.com/docs/partner/apis/platsolution-mch-recharge/recharge/apply.html
电商平台如何收取卖家的保证金?电商平台的小程序,已开通收付通功能,怎样收商家的保证金呢?因为开了收付通功能,平台本身是不能收款的,微信有没有保证金功能,可以收了保证金冻结在身信方呢?
09-03谢邀,换个低版本的开发者工具试试,避开有BUG的版本,详见这里 1.06.2407110 更新说明[代码]F[代码] 修复 代码包上传体积变大的问题
小程序上传,主包没超过2M,怎么传不了?主要之前的版本都传[图片]
08-23开放平台上的网站应用appid对应的openid,无法用于支付业务,须是服务号的openid才行
h5微信支付前置条件【获取授权码】无法达成。微信内H5支付首选需要先获取授权code,再用code拿到openId,才能继续创建订单等流程。 但这个获取授权码的情况很奇怪,web扫码可以的(用于登陆),h5获取授权码却提示10005错误。 这就很奇怪了,你说要是都不允许,咱也认了。 而且有个应用我前几天还可以,今天试了下却不行了。所以才新创建了一个网站应用来测试。 新创建的appid: wx516841ff169755a5 [图片]
08-22400是没给httpclient填apiclient_cert.pem参数,即非受信任请求,被微信拒绝了
https://api.mch.weixin.qq.com/secapi/pay/refund ?应工作需要,要对接退款的功能 但是现在这个退款接口 提示400 这是什么问题
08-21你的商户订单号含有4个大写字母,你的这种写法会被转化成连字符小写格式,比如ABCD1234会被转成-a-b-c-d1234,避免被转换参考sdk readme上的写法,把商户订单号通过placeholder形式传输
微信支付分提示单号超长,实际并没有超长咨询一下 ,微信支付分 取消订单接口 返回输入源“/uri_template/out_order_no”映射到值字段“商户服务订单号”字符串规则校验失败,字节数 37,大于最大值 32,但是 其实际长度29,并且是创建订单通过的单号,不存在超长的问题 [图片] [图片]
08-15搜【南山文体通】小程序
我们小程序想使用地域名+管理服务平台命名,我们这边行政单位让我们找授权过的案例,用于佐证材料?我们小程序想使用地域名+管理服务平台命名,我们这边行政单位让我们找授权过的案例,有授权过的兄弟姐妹授权书能不能发来做一下佐证材料,万分感谢,万分感谢,万分感谢,可以私聊发。
08-12