支付宝网银直连SDK封装记上|强力去掉支付宝网银直连DEMO中56个坏味道 余下6个坏味道 Sonarqube无视阿里支付宝光环

 Yuema约吗?一起学技术,一起成长!学海无涯 高人带路系列

程序的世界,就是有坑的地方!分享踩坑的心得与体验!每天分享一点点!
关注公众号,进入学海无涯,高人带路模式!!微服务再难,有人带路,轻松搞定

名词约定
网银直连,通过第三方支付平台(比如支付宝)直接跳到银行的网上银行界面,不显示第三方平台支付界面(比如支付宝)。支付宝也称相关接口为《纯网关接口-create_direct_pay_by_user(20170526).zip》。
正文
蚂蚁金服支付宝网银直连是最难接的支付了,难不再于技术,在于技术前端的商务关。在线客服不再签约不给开通,只能联系客户经理走线下邮件开通。体验相当不好。今天依据支付宝提供的DEMO,封装了一个支付宝网银直连SDK。之所以要自己封装,是因为现有的alipay-sdk-java 4.6.0.ALL压根不包括网银直连接口。
<!-- 支付宝 https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java -->          <dependency>              <groupId>com.alipay.sdk</groupId>              <artifactId>alipay-sdk-java</artifactId>              <version>4.6.0.ALL</version>          </dependency>
为什么要封装
做为第三方代码,揉在项目里,显得有些突兀。封装出来,以后要使用,也可以直接引用进来使用。
   <!-- 支付宝网银直连SDK -->      <dependency>        <groupId>com.zhongdaiqi.alipay</groupId>        <artifactId>alipay-bankpay-sdk</artifactId>        <version>1.0.0</version>      </dependency> 
如果不封装,项目代码就膨胀起来了,也不够清晰。单独把网银直连的代码打包在一个SDK里,不仅让现有代码清晰。而且新项目也可以方便的使用。不用COPY多处代码,只需要引入sdk并将agent类copy过来。也是很方便的使用体验。
未封装的图示感觉

未封装的话,代码被打散在项目的角落里,对于这种“外来”代码,怎么可以跟小清新无坏味道的代码混在一起呢?
封装后的图示感觉

网银直连所使用到的验签、创建网银直连支付宝订单等相关的类都统一打包在这个AlipayBankSDK中。可方便的应用到多个项目中。
刚才有说到我们项目代码经过Sonarqube洗礼,清理了绝大数坏味道,而第三方的代码打包在sdk里就不用去坏味道么?当然,也是要去的。风格不统一,命名不符合我们的规范。自己封装,就自己清理吧!

       封装sdk的方法、清理坏味道的方法、从支付宝网银直连demo中发现的坏味道清单,请看篇的姐妹篇《支付宝网银直连SDK封装记下|强力去掉支付宝网银直连DEMO中56个坏味道 余下6个坏味道 Sonarqube无视阿里支付宝光环》

关注Yuema约吗公众号,回复”bankpay”,查看《支付宝网银直连SDK封装记下|强力去掉支付宝网银直连DEMO中56个坏味道 余下6个坏味道 Sonarqube无视阿里支付宝光环》

关注Yuema约吗公众号,每天都有新收获

作者:钟代麒

出处:http://www.jishudao.com/
版权归作者所有,转载请注明出处

此条目发表在未分类分类目录。将固定链接加入收藏夹。

发表评论

邮箱地址不会被公开。 必填项已用*标注