学习电商项目的经验总结(三)

学习电商项目的经验总结(三)

前言:每天学一点,记录美好生活。

  昨天是学习项目的第三天,正式进入到学习 “ 支付” 的章节,支付包含微信支付和支付宝支付。今天先来总结昨天学习的微信支付(以下均特指Native支付),总结之前先和大家说个卑微的笑话。
 
 
  这个笑话大概是这样的,当时两个师兄正在群上讨论要买什么课好,然后一起学习,其中有一门课我发现有微信支付的内容,因为我前不久刚学习了微信支付的课程,我就很开心,心想要买这套,我上手应该轻松不少啊,抑制不住内心的骄傲哈,哈哈,我就在群上说了一句,微信支付我玩过,“玩”这个字是不是充分地体现了我的骄傲哈哈。然后就尴尬了,因为,没人理我啊呜呜(不是应该有一点点小小的鼓励吗哈哈),直到昨天我用师兄的课程学习微信支付才发现,课程中大概是用了十几行代码,就已经可以发起了一个微信支付,我的天!我当时可是用了一个星期,看着官方文档一步步理解,然后测试才实现的,而课程是用了一个开源的别人封装好的代码,导入相关依赖,五分钟不到就完成了我一个星期的事情,想想也是有点卑微哈哈,但我觉得自己去了解过才是最6的对吧,毕竟套用是大家都会的事情,多了解多思考多动手,才是真理。
 
 
经验总结:
  1、理论 >> 实践(对于支付这块来说,熟悉理论很重要,不理解支付的专业名词和流程,就会像无头苍蝇一样,到处乱撞)
 
  2、支付资质就是资格,要有企业资质(没有,就可以看看课程或身边的人能不能借用)
 
  3、支付场景简单分为微信支付和支付宝,微信支付又分为公众号支付(JSAPI)、H5支付(微信以外的浏览器)、小程序支付(JSAPI)、Native支付(具体请参考微信开发文档)。支付宝分为当面付和电脑网站支付,当面付又分为条码支付和扫码支付(具体请参考支付宝开发文档)。
 
  4、同步和异步,微信通知是异步,为什么不同步?因为做不到。为什么说是异步呢?简单来说就是后台拉起微信支付时向微信发了一个支付的请求(request),然后微信那边要通知我们支付成功或失败对啊,微信那边如何知道通知的是你而不是别人,其实是我们告诉微信那边的,我们在发出支付请求的时候,就已经携带了一串参数,告诉微信要通知的地址,而微信通知我们所发出的也是request。而并不是一发起支付的request,支付成功后就能得到response的通知,所以是异步通知。
 
  5、支付项目的系统架构。支付是一个独立的系统架构,也就是说要新建一个独立的Java项目,不要和电商的项目写在一起。还要有专用的数据库/数据表。为什么要分开,还要有专用的数据库/数据表?简单来说就是为了方便维护和管理。
 
 
实战总结:
  这个其实具体没什么好说,实战部分总体来说并不算难,难的是有没有用心去看过官方的开发文档,而不是仅仅是调用别人封装好的代码,自己理解才是最重要的对吧。但在实际开发中,讲究的是效率至上(都是听大佬们说的),能用为什么不用呢是吧哈哈。
  我学习的是慕课网廖师兄的支付项目,那自然也是用他的可能是目前最好的支付sdk。至于如何使用,廖师兄也是附上了使用文档,可以说是很好了,我就不班门弄斧了哈,学习了三天,自我感觉廖师兄讲得很不错,也很是用心,如果你有缘能看到我这篇博客,也是个小白,推荐你学习一下Java通用支付+电商平台双系统实战,怎么感觉我跟打广告似的。

下面是我总结的一些经验:

  1、重复的代码块通常可以优化。最常见的例子:配置后的service加上@Service,在controller层就可以通过@Autowired直接调用了。就不用每次都new一下。
 
  2、写方法很多时候是从无参到有参,从无返回值到有返回值。一步步来调试,没有那些大牛面面俱到的思维,何不步步为营呢?
 
  3、404不一定代表访问不到,主要还是看日志。
 
  4、注意区分:controller层方法返回的值是要渲染一个页面的话该类的注解不能是@RestController,只能是@Controller。
 
  5、别再用System.out.println()了,使用注解@Slf4j。
 
  6、整个微信支付的实战流程:
 
  创建支付 -> 发起支付 -> 接收响应 -> 返回codeUrl -> 前端渲染 ->
  扫码支付 -> 异步通知 -> 签名校验 -> 金额校验(从数据库查订单)->
  修改订单的支付状态 ->告诉微信不再通知

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值