开发者社区> 格子衫码农> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

微信支付中退款踩坑记录

简介: 首先附上微信支付的开发者文档 https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_16&index=11 其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用。
+关注继续查看

首先附上微信支付的开发者文档

https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_16&index=11

其实这里所说的踩坑记录,无非就是微信在开发者文档上的写不太明确,也没有比较官方的demo,在此列出一个可行的demo,供大家下载使用。

主要问题就是在这几步解密上

img_68bd6512760942952075e70af57ca2a9.png
微信的解密算法

首先是base64解码的工具类

img_7a8c2425cdbbadaf289a830fe4418328.png
base64Utils

这个工具类都是比较简单的,大部分的框架都会封装这种类似的工具类,这里自己做简单封装

然后是md5工具类,这个就不往外放了,网上多的是,现成的也多的是

主要坑人的地方是第三条。。。

img_245e815f6366d82b0310b279a2947046.png
解密参数设置
img_cd3fa4a9fcce1ab995abec214d5df0d9.png
AES解密方法

上面写明了用AES-256-ECB-PKCS7Padding,但是你把下面的ALGORITHM_MODE_PADDING参数换成AES/ECB/PKCS7Padding,发现报了这么个异常

java.security.NoSuchAlgorithmException: Cannot find any provider supporting DES/ECB/PKCS7Padding,

然后把参数改成AES/ECB/PKCS5Padding,发现 Illegal key size or default parameters

解决方法:

http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

JDK8 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

JDK7 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html

JDK6 jar包下载地址:

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html

把里面的两个jar包:local_policy.jar 和 US_export_policy.jar 替换掉原来jdk安装目录Java\jre\lib\security 下的两个jar包接可以了

然后运行一些试试,,此时代码正常,数据正常。。。

因为某些国家的进口管制限制,Java发布的运行环境包中的加解密有一定的限制。比如默认不允许256位密钥的AES加解密,解决方法就是修改策略文件,  从官方网站下载JCE无限制权限策略文件,注意自己JDK的版本别下错了。将local_policy.jar和US_export_policy.jar这两个文件替换%JRE_HOME%\lib\security和%JDK_HOME%\jre\lib\security下原来的文件,注意先备份原文件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
jquery-weui微信支付报错问题解决
//获取充值套餐 $.ajax({ type: 'post', url: api.domain + api.recharge_package, data: { "access_token": access }, success : function(res) { if (res.
3711 0
微信H5支付
本篇文件来聊聊微信服务商模式以及商户模式下微信H5支付 先说一个事情。8月1号开始微信公众平台支付的开发配置页面迁移至商户平台 详细说明参考这个或者看下面的截图 官方文档 普通商户版-微信H5支付 服务商版-微信H5支付 1、申请开通微信H5支付 服务商模式下点击申请开通会立即开通,邀请子商户时需要填写子商户的信息。
4129 0
!!微信支付总结(原创)
Q: 微信支付成功之后如何跳转到指定页面 A: 以微信公众号支付举例,在前台H5页面中指定即可,注意在后台设定的notify_url不是这个指定页面,notify_url是用来微信支付完成后,微信调用咱们的应用服务器用的,是一个回调接口 可以用来记录日志,或者更新订单状态   参考文档: 微信...
827 0
微信支付开发(8) 刷卡支付
关键字:微信支付 微信支付v3 刷卡支付 统一支付 prepay_id 作者:方倍工作室原文: http://www.cnblogs.com/txw1958/p/wxpayv3-micropay.html    本文介绍微信支付下的刷卡支付的开发过程。
1412 0
MVC 微信支付
原文:MVC 微信支付 微信支付方式有好几种,俺研究了跟自己需要的两种,即:JS API网页支付和Native原生支付,这两个名词实在是有目的难懂。JS API网页支付:我的理解是在微信浏览器里面可以调用微信支付控件的支付方式;Native 原生支付则是在其他浏览器里面通过扫描二维码进行支付的方式。
1116 0
微信支付样例
微信支付样例 地址:http://paysdk.weixin.qq.com/   JSAPI支付 刷卡支付 扫码支付 订单查询 订单退款 退款查询 下载订单
669 0
微信支付技术解决方案
本文将全面介绍微信公众账号号支付技术解决方案。   1.微信支付简介1.1 功能简介微信支付,是基于微信客户端提供的支付服务功能。同时向商户提供销售经营分析、 账户和资金管理的技术支持。 用户通过扫描二维码、 点击图文消息进入商品页面购买等多种方式调起微信支付模块完成支付。
1743 0
微信支付类目及费率
目前,微信支付采取的是“T+3”到账模式,也就是即时到账模式,非担保交易,买家付款后,资金直接进入卖家财付通账户,3天后可结算、提现。 据悉,微信支付手续费将从每笔交易中抽取,保证金在完成合同签订后由微信通知缴纳。
1214 0
微信支付功能
  微信支付的使用场景正在不断延伸。除了此前已经介绍的麦当劳和 QQ 充值账号,目前已经开始有更多的公众账号和企业销售逐步接入微信支付功能。   据了解,包括“微彩票”、“微团购”、“南派三叔”、腾讯充值中心等公众账号都已经可以使用微信支付功能。
1176 0
+关注
格子衫码农
参与多个项目开发,涵盖电商、物联网等方向,为人谦逊,喜欢跟他们交流新技术发展,对待工作一丝不苟。
43
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载