电商系统缺不了支付,甚至凡是带有支付的系统,支付是必须的。

目前我们在做支付系统时,一般不会做支付渠道的整个流程(也许在某一些金融公司会有),我们更多的接入微信支付、支付宝支付、银联等这些有公共接口的第三方支付平台。

我目前做的比较多的是微信支付和支付宝支付,基本功能是一致的:支付。但是有些细节不一样,比如支付金额的单位。微信支付金额的单位是【分】,而支付宝支付金额的单位是【元】,也许第一次看他们接口文档时,内心就有一万头草泥马奔驰而过:MD,干嘛不一样?那我们在设计数据库时,就要对这两个支付平台进行兼容。那我们在我们的数据库中,金额设计成分呢,还是元呢?他们映射到数据库里的区别就是:一个是整数(分),一个是浮点数(元)。咋整?

在起初的时候,我也不知道该怎么选择,分也行,元也行,没很大问题,不就是一个单位转换吗?那时设计的系统有的用分,有的用元,看心情。但是,数据字段使用浮点数时,会出现一个小问题:精度!

对,就是精度。因为浮动数在实际存储时,都是有精度的,即,比如我欲存的是1.4,但是实际存储的就有可能是1.402343或1.392343之类的,同时,在我们的代码层,也有会有精度问题,比如我就遇到过类似的问题。所以,为避免不必要的问题,或避免奇怪问题的发生时,我们在运算时,尽量采用整数运算,存储也尽量采用整形存储。

在设计支付系统是应该要注意相关推荐

  1. 支付系统 “订单模型” 该如何设计?

    导读 最近经历了一件事,就是小码农所在的公司因为被某大厂收购之后要进行融合了,其他方面的融合就没必要说了,今天咱们只是聊一下支付系统融合的事情.首先从很多互联网公司的发展经验来看,随着多条业务线的发展 ...

  2. 解密支付系统,来看如何构建理想的支付系统架构

    货币是人类发展史上一个极为重要的角色,它不仅是市场上物品交换的媒介,更是人类文明发展史上里程碑式的代表物. 几千年前人类在贸易市场上使用实物交换,可以想象一下我们的祖先进行市场贸易:一个人手上有羊奶, ...

  3. 记一次支付系统的设计体验

    0.写在前面的话 支付系统是一个老生常谈的话题,我也相信每个公司开发的支付系统不尽相同,因为业务形态并不太一样. 在此,我并不想讲一个大而全的支付系统,个人也没有能力去阐述. 在我看来,一个支付系统应 ...

  4. 支付系统高可用架构设计实战,可用性高达99.999!

    作者:冯忠旗 来源:juejin.im/post/5cfde01bf265da1bba58f863 一.背景 对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运行,而要做到完 ...

  5. 可用性高达99.999%!支付系统高可用架构设计实战

    作者:冯忠旗原文:https://juejin.im/post/5cfde01bf265da1bba58f863 一.背景 对于互联网应用和企业大型应用而言,多数都尽可能地要求做到7*24小时不间断运 ...

  6. 支付系统整体设计:整体架构设计以及注意要点(三)

    一般来说,银行会提供两种支付途径:无跳转的快捷支付接口和带跳转的网银接口.前者在绑卡,支付的时候,不需要跳到银行页面上去处理,后者则需要在银行的网银页面上完成.显然前者对用户来说体验要好多了,用户流程 ...

  7. 可用性高达五个9!支付系统高可用架构设计实战

    为此,对应用的可用性程度一般衡量标准有三个9到五个9. 对于一个功能和数据量不断增加的应用,要保持比较高的可用性并非易事.为了实现高可用,付钱拉从避免单点故障.保证应用自身的高可用.解决交易量增长等方 ...

  8. 支付设计白皮书:支付系统的总架构

    中国互联网支付总架构 今天这篇文章就是想带大家来了解下一个从点到点,从端到端,从始到终的支付链路,最近三只松鼠的坚果不是挺火的嘛,那六六就以从京东买三只松鼠为例,带大家从整个宏观的角度来看看中国的互联 ...

  9. 支付设计白皮书:支付系统的路由系统设计

    路由从作用上来说,即是根据一系列规则获取目标结果的过程.直白点,就是根据一个一个条件去做匹配,最终匹配到目标结果,这与我们通常做判断,做选择的过程完全一致. 路由器是史上最强"通道挑选官&q ...

最新文章

  1. python有趣的工具_python好玩的小工具(正在create中)
  2. Java基础-内部类
  3. java label覆盖_java – 将JLabel置于JLabel之上,其中包含图像
  4. ios开发 访问mysql_iOS开发实战-时光记账Demo 网络版
  5. 在LINUX中部署FTP服务器
  6. stem函数--Matplotlib
  7. 数据分析中会常犯哪些错误,如何解决? 五
  8. CMU 15-213 Introduction to Computer Systems学习笔记(7) Machine-Level Programming-Data
  9. CPU指令执行及流水线(超标量、多发射、乱序执行)
  10. 笔记本不用fn也能用功能键
  11. 轻量化安装 TKEStack:让已有 K8s 集群拥有企业级容器云平台的能力
  12. php imp,Imp_在线英语听力室
  13. 华为人才在线加入HCIA班级
  14. 富人越富,穷人越穷,我为什么反对PoS
  15. 华为路由器时间同步_华为NTP配置实例
  16. 老博会|2023第九届北京国际老年用品展览会
  17. Socialbook告诉你网红营销和ROI的关系~
  18. 什么人工智能、云计算和大数据?发展趋势怎么样
  19. 宝宝喜欢爬窗户怎么办?
  20. 学计算机男自编对联,学习对联大全

热门文章

  1. JDOJ 2174 忠诚
  2. 论文笔记《Incorporating Copying Mechanism in Sequence-to-Sequence Learning》
  3. 「UG/NX」NX开发对应VS版本的环境配置
  4. Vue 项目快速入门
  5. 取余,模运算,余数的正负问题,1497. 检查数组对是否可以被 k 整除
  6. c和java的区别_论C语言和Java的区别
  7. Excel 多条件查找
  8. set_input_delay中-add_delay的作用
  9. Camera开发—如何使用系统相机
  10. 图像处理基础知识系列之五:贝叶斯方法简单梳理