由于昨天微信被爆官方的 Java SDK 存在支付漏洞,于是今天官方就放出了最新的 SDK。刚好正在接支付这块,立马就 down 了最新的 SDK,maven install,然后项目引入。然后项目就报错了。。。看到里面各种奇葩的写法,让我对鹅厂的 Java 水平表示严重的怀疑。

首先,更新后多了一个 IWXPayDomain 接口,BUT,里面定义的 abstract 是什么鬼??这特么到是接口还是抽象类???真是我孤陋寡闻了,第一次见到这么神奇的写法。

package com.github.wxpay.sdk;

/**

* 域名管理,实现主备域名自动切换

*/

public abstract interface IWXPayDomain {

/**

* 上报域名网络状况

* @param domain 域名。 比如:api.mch.weixin.qq.com

* @param elapsedTimeMillis 耗时

* @param ex 网络请求中出现的异常。

* null 表示没有异常

* ConnectTimeoutException,表示建立网络连接异常

* UnknownHostException, 表示 dns 解析异常

*/

abstract void report(final String domain, long elapsedTimeMillis, final Exception ex);

/**

* 获取域名

* @param config 配置

* @return 域名

*/

abstract DomainInfo getDomain(final WXPayConfig config);

static class DomainInfo{

public String domain; //域名

public boolean primaryDomain; //该域名是否为主域名。例如:api.mch.weixin.qq.com 为主域名

public DomainInfo(String domain, boolean primaryDomain) {

this.domain = domain;

this.primaryDomain = primaryDomain;

}

@Override

public String toString() {

return "DomainInfo{" +

"domain='" + domain + '\'' +

", primaryDomain=" + primaryDomain +

'}';

}

}

}

然后,接下来神奇的地方来了,原来的 WXPayConfig 接口改成了抽象类,然鹅。。。里面抽象方法的访问控制权限是 default ??额。。你让别人怎么在不同的 package 下 Override 这个抽象类???

public abstract class WXPayConfig {

/**

* 获取 App ID

*

* @return App ID

*/

abstract String getAppID();

/**

* 获取 Mch ID

*

* @return Mch ID

*/

abstract String getMchID();

/**

* 获取 API 密钥

*

* @return API 密钥

*/

abstract String getKey();

/**

* 获取商户证书内容

*

* @return 商户证书内容

*/

abstract InputStream getCertStream();

}

java实现工单派发_编写官方微信支付 Java SDK 的同学领下工单!相关推荐

  1. Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。

    提问:编写一个简单的Java程序,模拟计算器的功能. 网友回答: 程序参考: import java.awt.*; import java.awt.event.ActionEvent; import ...

  2. 视频教程-企业微信支付JAVA版_向员工收款-微信开发

    企业微信支付JAVA版_向员工收款 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信息 ...

  3. java微信web支付开发_微信支付java开发详细第三方支付功能开发之支付宝web端支...

    这段时间把支付基本搞完了,因为做的过程中遇到许多问题,特地记录下来,同时方便其他java coder,废话少说,下面开始. 整体思路:在后台,根据参数创建支付宝客户端AlipayClient,发送参数 ...

  4. 微信支付 JAVA实现

    微信支付接口文档2.7里的demo实在是看不下去了,错误百出,到网上搜了半天,全部都是把官方文档下下来让你下载,还扣你积分,操蛋... 微信支付JAVA 接口 首先下载官方demo,虽然很多有问题,但 ...

  5. 官方微信支付跟特约商户的区别

    这几天在研究微信会员卡开发,做到快速买单的时候,他要求我开通微信支付,此前已经在服务商中开通了微信支付,最后发现他还要求我开通原生的微信支付,打客服电话求证后.发现了一个很坑的东西,发现微信支付其实有 ...

  6. app微信支付-java服务端接口 支付/查询/退款

    app微信支付-java服务端接口 支付-查询-退款 个人看微信的文档,看了很多前辈的写法,终于调通了,在这里做一下记录. 首先来定义各种处理类(微信支付不需要特殊jar包,很多处理需要自己封装,当然 ...

  7. 微信支付java版v2.0_刷卡支付-翟东平-专题视频课程

    微信支付java版v2.0_刷卡支付-1814人已学习 课程介绍         微信支付系列课程将讲解"刷卡支付"."扫码支付"."公众号支付&qu ...

  8. php 工商银行公众号支付代码_微信支付PHP SDK —— 公众号支付代码详解

    在微信支付 开发者文档页面 下载最新的 php SDK 这里假设你已经申请完微信支付 1. 微信后台配置  如图 我们先进行测试,所以先把测试授权目录和 测试白名单添加上.测试授权目录是你要发起微信请 ...

  9. 微信支付java helloworld_10行代码搞定微信支付(Java版)

    微信支付痛点 对于大多数同学来说,要开发微信支付可不简单.附上微信支付官方文档网页链接 从文档上可以看出,你需要解决很多问题,我就随便挑几个吧. xml与对象的互转, 微信使用xml格式而不使用jso ...

最新文章

  1. linux的strace命令
  2. 一个包的TcpServer流程
  3. std::alloc具体细节
  4. ubuntu 改屏幕分辨率命令_Ubuntu被曝严重漏洞!!!
  5. 工程日志(110316)-机房内电子信息设备电量估算
  6. 【转】php中XML、XSLT的结合运用
  7. swift:创建滚动视图的图片轮播器
  8. structed streaming基础---跳过的坑
  9. php打开retmsg,PHP截取发动短信内容的方法
  10. 【原创】在Windows 环境下利用SVN和Apache以及Ankh配置源代码管理服务
  11. java二次开发考勤机_浩顺AC671指纹考勤机二次开发(demo)
  12. 偏微分方程数值解法pdf_数值模拟偏微分方程的三种方法:FDM、FEM及FVM
  13. oracle 如何修改表字段的类型或者长度
  14. 学习有法,事半功倍 — 在线学习的10个技巧
  15. Microsoft Excel 教程:如何在 Excel 中自动填充数据?
  16. 电脑数据误删除了怎么恢复?误删除数据恢复操作教程
  17. grpc-go源码剖析二十之grpc客户端帧接收器是如何处理不同的帧的?
  18. bomb和mysql,Bmob
  19. Iphone开发(七)date picker 和 picker view,较复杂的控件
  20. 遥感深度学习数据集汇总(更新中)

热门文章

  1. 同样的代码,为啥我的出错,调试解决问题
  2. windows xp 的开机黑屏只有光标闪动的解决方法
  3. 表格如何excel在线转letex
  4. 新冠感染池检测选取最优池检测人数(概率模型理论公式+蒙特卡洛matlab仿真)
  5. 华为机试HJ28:素数伴侣
  6. python关于组合数据类型_python组合数据类型
  7. linux下虚拟光驱,求助:谁有Linux下的虚拟光驱软件?
  8. final 在java,final 在java中的注意点
  9. Linux用户基础操作入门
  10. 易语言c调用,易语言调用C++编写的DLL