支付的那些事——数据库篇

引言

最近在投简历了,怕入职新公司,没时间总结了,想着这个系列还是要写完,虽然也没几个人看吧,但是,还是要有始有终,留给有缘人。

1、支付渠道

支付渠道也叫支付通道,我们都知道鸡蛋不能放在一个篮子里面,所以我们的支付渠道也是多个的,保证业务少受支付通道的影响。一个支付通道停了,可以切换其它支付通道,如何切换平稳过渡,成本最低,将在下一篇经验篇中介绍。
支付渠道表主要字段:
渠道名称、渠道编码、商户号、公钥、私钥、异步回调地址、渠道状态、版本号(乐观锁)、优先级

2、银行卡签约

用户银行卡签约成功,第三方支付才能根据签约凭证进行代扣和代付,商户和第三方支付是按照签约成功进行收费的。因此,一个用户相同的银行卡只需要签约一次。
银行卡签约表主要字段:
用户姓名、身份证、银行卡号、签约手机号、使用状态、支付渠道、签约凭证、版本号
银行卡签约日志表主要字段:
用户姓名、身份证、银行卡号、签约手机号、签约状态、支付渠道、签约凭证、同步返回日志、异步返回日志、版本号

3、支付

根据银行卡的签约凭证进行代扣或代付,支付的终态只有两种,一种支付成功,另一种是支付失败。支付的时候重点是日志的记录和状态的更改。
支付交易表主要字段:
金额、订单号、状态(支付成功、支付中、支付失败)、用户id、交易流水号、版本号
支付日志表主要字段:
支付渠道、交易流水号、同步回调日志、异步回调日志、版本号

4、退款

退款同支付表设计

5、对账

对账是支付环节闭环中的重要部分,我们公司对账没有走标准化的对账流程,直接对的总账,账不平,由财务去核定,这点看公司的业务要求而定。
本公司处理流程:

  1. 定时汇总支付、退款流水
  2. 比对虚拟账户金额是否一致
  3. 虚拟账户和远程账户是否一致
  4. 财务统计汇总
    虚拟账户表主要字段:
    支付渠道、远程资金、版本号

结束语

本篇主要讲的支付流程中的设计的主要数据库表设计,具体情况需要根据自己的业务而定,下一篇:支付的那些事——经验篇
在这里插入图片描述
微信扫码,关注一位有故事的程序员。关注后(回复:1024),领取海量Java架构进阶资料。

猜你喜欢

转载自blog.csdn.net/cool_summer_moon/article/details/106668648