- 微信支付成功后,重复回调
我是按照官方文档格式回复的 如下 <xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml> 为什么重复回调
2019-04-26 - APPID不在可自助绑定的账号类型范围内,请检查修改后再试
公司有一个在开放平台的网站应用,现在想用网站应用申请微信支付,在商户平台上的APPID授权管理页面,操作绑定的APPID,输入网站应用的APPID后出现如下错误提示,此网站应用未绑定任何公众号服务号,请问这是不能申请微信支付吗?如果能申请,我要怎么操作呢? 我已参考多份文档了,这份是最主要的:https://pay.weixin.qq.com/static/pay_setting/appid_protocol.shtml 显示界面截图如下: [图片]
2019-06-26 - 微信支付退款解密坑
微信支付开人员是不是有毛病,弄了这么一个大坑给我们,也不知道为什么微信支付退款这个步骤需要解密,为什么支付不需要解密?(难道退款会被冒充,支付就不会了?)解密也就算了,弄这么复杂干什么啊,弄一个技术限制的解密方法,还是开发的这个功能的人脑子有毛病啊,真他妈啥毕啊。 微信支付退款解密具体方法如下: String descrypt(String reqInfo) { byte[] reqInfoB = Base64.decodeBase64(reqInfo); String key="微信key"; String key_ = DigestUtils.md5Hex(key).toLowerCase(); if (Security.getProvider("BC") == null){ Security.addProvider(new BouncyCastleProvider()); } Cipher cipher; try { cipher = Cipher.getInstance("AES/ECB/PKCS7Padding", "BC"); }catch ( NoSuchAlgorithmException |NoSuchProviderException|NoSuchPaddingException e){ e.printStackTrace(); throw new RuntimeException("秘密获取失败"); } SecretKeySpec secretKeySpec = new SecretKeySpec(key_.getBytes(), "AES"); try { cipher.init(Cipher.DECRYPT_MODE, secretKeySpec); }catch (InvalidKeyException ie){ ie.printStackTrace(); throw new RuntimeException("秘密初始化失败"); } try { return new String(cipher.doFinal(reqInfoB)); }catch (BadPaddingException| IllegalBlockSizeException ie){ ie.printStackTrace(); throw new RuntimeException("秘密初始化失败"); } } 上述过程之后在本地运行没问题了,但是放到 linux服务器就会解析失败: java.security.InvalidKeyException: Illegal key size or default parameters(有可能会报这个错误,也有可能什么都不会报) JAVA实现“AES/ECB/PKCS7Padding”对称加解密,尤其是 AES256的加解密需要注意两点: 技术出口限制,国内的JDK 默认不支持;JDK默认不支持PKCS7Padding填充模式,需借助第三方提供者。解决出口限制问题,下载以下两个包(local_policy.jar,US_export_policy.jar)替换jdk安装路径下: jre\lib\security 的同名文件 5.1.下载 需要注意的是:替换的jar包版本需要与jre版本一致,各个版本包连接 jdk8:http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html jdk7:http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html jdk6:http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html jdk5:http://download.csdn.net/detail/scs2043/4237335 5.2.替换路径 %JAVE_HOME%\jre\lib\security 最后,微信开人员真是牛啊,怕我们太好写程序了,故意弄一点坑给我们跳啊!!!!!!
2020-11-05