`
wx1569110409
  • 浏览: 20079 次
文章分类
社区版块
存档分类
最新评论

对账设计

 
阅读更多

转自 https://coffee.pmcaff.com/article/1650943162549376/pmcaff?utm_source=forum&tdsourcetag=s_pctim_aiomsg

对账设计

接下来讲讲对账咋做的。因为对账里有个财会知识,叫单边账,双边账。根据自家系统的需求,我采用了双边账这一类型。

对账主流程有四步:

(一)下载账单:

1.定时触发下载任务

时间建议设置为:支付宝3:30,微信10:30

支付渠道 对账周期 账单提供方式 账单文件格式
支付宝 3:30 https xml
支付宝退款 3:30 https xml
微信 10:30 https Gzip(txt)
微信退款 10:30 https Gzip(txt)

2.查询/连接下载地址:

支付通道 查询接口/地址 传参 出参
支付宝 alipay.data.dataservice.bill.downloadurl.query    
微信 https://api.mch.weixin.qq.com/pay/downloadbill    

3.重试机制:

若下载失败,5分钟重试一次,尝试10次。

4.下载文件:

通过https访问下载地址,将文件下载到本地。

(二)创建批次

记录对账批次,对账结束时将对账的结果信息存储到批次中。

(三)解析文件

1.判断文件来源通道

微信,支付宝

2.判断文件类型

xml,txt,csv?

微信是Gzip压缩包,支付宝是XML。

3.解析文件

由开发编写脚本程序,解析文件内容的范式。

4.转换入库

文件转换为CSV格式,存储入库。

5.账单明细

后台管理系统展示账单的明细内容。供财务查错账使用。

(四)账单文件存储

文件命名:业务类型_资金渠道_清算日期_序列号.文件格式

I_WEIXIN_20190101_01.csv

1.业务类型:入款I、出款O、退款R(撤销、退货)。

2.资金渠道:WEIXIN/ALIPAY

3.清算日期:YYYY-MM-DD

4.序列号:同一业务类型、同一资金渠道存在,多份对账单的情况。

5.文件格式:CSV格式。

(五)对账处理

获取、解析完支付通道的账单数据后,进行对账时,需要将对账单中订单、金额、服务费与我方平台系统订单、金额、服务费进行比对。

1.找出订单

根据渠道、日期、交易状态(交易成功)获取我方系统订单;

2.系统订单与支付通道对账单勾对

    A.按照系统订单中顺序一条条与对账单记录进行勾对;

    B.勾对时先按照订单号进行勾对,再进行金额勾对;

    C.系统订单勾对完成后,检查对账单是否存在剩余记录。

3.对账处理

对于订单号、金额一致的,记为已平账;

对于订单号勾对一致,但金额不一致的,记为金额不一致,放入差错池;

对于订单号匹配不到的,记为短账。(我方有,对方没有)

对于对账单中存在剩余记录,全部记为多账。(我方没有,对方有)

4.结果输出:

对账无差异的,显示对账成功,可进行汇总确认。

对账存在差异的进行展示,并在差错池处理。

3次对账都没对平的放入差错池。

对账结束时候,将对账的结果信息存储在批次中。

5.对账逻辑:

查出我方交易状态成功的订单,遍历支付通道订单的所有数据,找出订单号一致的订单,勾对金额、服务费是否一致。

// 缓存池3天依旧对不平的交易,放入差错池  //

遍历缓存池

if 今日-缓存池中订单号交易时间>2

    该订单放入差错池

// 勾对清我方有,对方也有的账单  //

if    我方单在对方单中能找到

        if 金额一致,跳过

        else 该笔置入差错池

else 我方单在对方单找不到

        if 遍历缓存池找到

                if  金额一致,跳过

                else 置入差错池

        else 遍历缓存池找不到

                记为短款,存入缓存池

// 找出我方没有,对方有的长款  //

if 对账单中还有订单,

        记为长款,存入缓存池

else

        跳过

(六)对账接口

支付宝_app支付接口2.0:https://docs.open.alipay.com/api_1/alipay.trade.app.pay

微信_app支付:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_6&index=8


五.后台_对账表单设计

(一)交易订单列表:

序号 内支付账号 用户ID 用户名称 商户订单号 业务类型 订单金额 状态 下单时间 支付通道 支付类型
1     张大胆   消费 10 支付成功   支付宝 即时转账
2 XXX   王小明   提现 100 交易超时   微信 即时转账
3     李老汉   消费 50     余额  

交易订单的展示:跟交易笔数对应。查看订单提交信息,作用--用户行为漏斗模型分析,辅助项目排序。(下单了但不支付,这类项目的排序权重上升)

字段说明:

1.序号:0,1,2...99...

2.内支付账号:我方生成,系统内部支付账户编号。

3.用户ID:系统内用户编号。

4.用户名称:系统内用户的名称。

5.商户订单号:我方生成传给支付通道。支付宝和微信变量都定义为“out_trade_no”。

6.业务类型:消费,退款,提现,充值。

6.订单金额:total_fee。

7.状态:等待支付,支付成功,交易超时(15分钟未支付,认定超时且关闭交易)。

7.下单时间:YYYY-MM-DD hh-mm-ss

8.支付通道:微信,支付宝,余额。(不可混合)

9.支付类型:默认即时转账。

(二)支付记录列表:(双边账)

交易订单的展示:跟账户明细对应。双边记账,记录每笔支付的业务流、资金流明细。

字段说明:

1.序号:0,1,2...99...

2.商户订单号:out_trade_no。

3.用户ID:系统内用户编号。

4.用户名称:系统内用户的名称。

5.交易主体

(1)内账户:

借记金额--收入

贷记金额--支出

(2)外账户

借记金额--收入

贷记金额--支出

6.交易对手

(1)内账户:

借记金额--收入

贷记金额--支出

(2)外账户

借记金额--收入

贷记金额--支出

7.创建时间:交易生成时间。

8.业务类型:消费,退款,提现,充值。

9.支付通道:微信,支付宝,余额。(不可混合)

10.支付类型:默认即时转账。(预留预授权等支付类型位置)

11.支付流水号:trade_no。

12.订单金额:total_fee。

13.支付通道手续费:由签约的支付通道规定的标准定。

14.平台服务费:消费类收取5%服务费,提现、充值、充退类不收服务费;

15.状态:等待支付,支付成功,交易超时(15分钟未支付,认定超时且关闭交易)。

转载于:https://my.oschina.net/Denniswang/blog/3041649

分享到:
评论

相关推荐

    聚合支付对账原型设计 RP (Axure RP 9打开)

    聚合支付对账Axure原型设计,原型已完成99%的交互动作和详细逻辑描述。 原型包含: 1、通道对账单模版配置 2、通道对账单下载任务 3、通道对账单导入 4、对账批次管理 5、存疑订单管理 6、差错订单管理 7、差错订单...

    支付系统设计:对账处理(二)

    可以说,对账是支付系统最头疼的事情。每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。对账系统的工作,是发现有差异的记录,即轧帐;然后通过人工或者自动的方式,解决这些差异,即平帐。对电商系统来说,...

    对账系统设计

    对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计对账系统设计

    银企对账系统的设计与实现_陈凌燕

    由于银行对账的滞后性和对账单回收少以及对账员与柜员等参与人员没有彻底分离等弊端的存在,给了不法分子可乘之机。这必然会给银企乃 至国家带来严重的经济损失。所以,银企对账的各个环节我们都要重视起来,严加...

    自动对账系统架构设计.pptx

    自动化对账系统顶层架构设计,描述了对账业务背景、基本业务知识,由此阐述了自动化对账系统的设计目标,以及粗粒度的设计

    对账系统设计1

    对账系统设计是IT领域中一项重要的任务,尤其在金融和支付行业中,确保交易数据的准确性和一致性至关重要。以下是对账系统设计的关键知识点: 一、对账系统整体设计 对账系统主要分为三个阶段:数据准备、数据核对...

    java后台实现支付宝对账功能的示例代码

    Java 后台实现支付宝对账功能的示例代码解读 Java 后台实现支付宝对账功能的示例代码主要介绍了如何通过 Java 实现支付宝对账功能的示例代码。本文将详细讲解支付宝对账的实现过程,包括调用支付宝查询接口、获取...

    Flink双流处理-实时对账实现1

    【Flink双流处理-实时对账实现】 在大数据处理领域,Apache Flink是一个流行的开源流处理框架,它提供了强大的实时计算能力。本篇将详细探讨Flink中的双流处理,特别是如何实现实时对账功能。 一、基础概念 1. ...

    一键对账工具

    一键对账工具是一种高效便捷的财务软件,专为解决企业财务对账过程中的繁琐与复杂问题而设计。在日常的财务管理中,对账工作是一项重要且耗时的任务,涉及到大量数据的比对、分析和整理。传统的手动对账方式不仅效率...

    从0开始学习支付系统搭建-核算对账核心

    本篇内容主要介绍支付系统中的核算对账核心部分,即交易从收银台开始到清算、账务、会计、核算对账系统的功能和设计要点,为银行或支付机构的专业从业者提供系统化的学习资源。 首先,支付公司提供的金融服务是建立...

    K3固定资产与总账对账工具

    《K3固定资产与总账对账工具》是针对企业财务管理中的一个重要模块——固定资产管理而设计的一款实用工具。在企业的日常运营中,固定资产管理是财务核算的关键环节,涉及到大量的资产购置、折旧、报废等业务,这些...

    四川航空直销对账系统的设计与实现.docx

    该系统的设计与实现,不仅应对了航空行业的特殊需求和数据处理的复杂性挑战,而且还借助于先进的技术和合理的架构设计,为四川航空提供了一套高效、稳定的直销对账解决方案。这不仅有助于四川航空内部运营效率的提升...

    银行余额调节表自动编制(逸凡对账能手V2.3)

    为了解决这一问题,"逸凡对账能手V2.3"应运而生,它是一款专为财务人员设计的自动化工具,极大地提高了工作效率。 首先,我们需要理解银行余额调节表的基本构成。该表通常包括两个部分:企业已记账但银行未记账的...

    逸凡对账能手V1.0正式版

    逸凡对账能手V1.0正式版是一款专为财务人员设计的高效对账工具。该软件的主要功能是帮助用户快速、准确地处理日常的财务对账工作,减轻财务人员的工作负担,提高工作效率。在V1.0的正式版本中,我们可以期待它具备...

    企业银行对账系统

    企业银行对账系统(EBAsys)是一款专为企事业单位财务部门设计的高效管理工具,旨在简化企业账目与银行账目的核对过程,确保财务数据的准确性和完整性。通过对账功能,系统能够自动化处理大量交易记录,提高工作效率...

    对账模板

    这通常是一个Excel电子表格,设计用于帮助用户进行各种类型的对账工作。Excel作为流行的电子表格软件,拥有强大的计算、排序、过滤和数据分析功能,是制作对账模板的理想选择。 对账模板的结构通常包括以下几个部分...

    电信行业(移动通信)缴费对账

    在实现对账程序时,采用三层架构是一种常见的设计模式。它包括表现层(用户界面)、业务逻辑层(处理对账规则和策略)以及数据访问层(存储和检索对账数据)。这种架构有利于系统的模块化和可扩展性,同时保证了...

    毕业设计 基于区块链的可信对账系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip

    毕业设计 基于区块链的可信对账系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip毕业设计 基于区块链的可信对账系统的设计与实现+部署文档+项目资料齐全 优秀项目.zip毕业设计 基于区块链的可信对账系统的设计...

    小小样对账系统

    封装的Excel 公式 盘点资金 系统对账 销售记录 历史查询 收银员小工具 vb编写小程序

    查询对账单下载地址接口demo(JAVA)版本

    首先,接口设计是关键。这个接口可能包括请求参数,如日期范围、账户ID或其他标识符,用于精确定位要查询的对账单。在Java中,我们可以使用HTTP客户端库,如Apache HttpClient或Java内置的HttpURLConnection,来构建...

Global site tag (gtag.js) - Google Analytics