Payment相关逻辑
payment相关逻辑
付款有手动付款和计划程序自动付款两种,照例先列出涉及到的概念
付款方式 - PaymentTypes - 现金,支票,信用卡,等等
记账类型 - Ledger_AccTransTypes - 涉及到金钱往来的都需要记账,简单说就是收到的钱和支出的钱作何用途
手动付款
支持的付款方式有EFT,CC,Agent Sweep,Check,Money Order和Cash,有相应的权限才可以使用对应的付款方式。在Quote绑定和Policy的Insured Info tab中都可以进入付款页面。手动付款的大致过程是这样的:
- 填写付款金额
- 选择付款方式
- 填写选定的付款方式下的账号信息以及账单的地址信息
- 如果选择了EFT或者CC
- 获取accounting date, Bill Code 没有就生成一个,这个code只是存入了Policy和Payment Process表中,不知道有什么其他用途
- 需要手续费的在总金额中加入手续费
- 调用solupay,如果不成功就显示付款不成功页面
- 付款成功会添加accounting记录,也就是记账信息,有手续费的要分开记录成两条记账信息, 对应的记账类型如下:
- PMT_OCC Invoice Premium - Online Credit Card Payment -> Credit Card
- PMT_EC Invoice Premium - Electronic Check Payment -> EFT/EC, 注意这里和自动扣款有些区别
- CON_FEE Invoice Convenience Fee -> 手续费
- 将付款的相关信息保存以供自动付款适用 - Policy_PaymentProcess
- Over
- 其他的付款方式暂不介绍
自动付款
自动付款需要Policy有多个待支付分期账单,而且有支付历史,并且保存了相应的账号信息。支持的付款方式有EFT/EC(Electronic Check)和CC(Credit Card)
CC记账类型 - PMT_OCC Invoice Premium - Online Credit Card Payment
EFT/EC记账类型 - PMT_ACH Invoice Premium - ACH Payment
自动付款的过程:
- 找到自动设置了自动付款的Policy下的待支付的Bill,以及对应的最新付款账号信息,TODO这是啥? NSF=0,DueDate<处理时间
- 从Policy_PaymentProcess获取保存的账号信息,和手动付款不同之处
- 后面的和手动付款基本一样,调用接口,添加记账信息
- Over
修改付款信息
从policy action页面我们可以进入修改自动付款信息页面,选择付款方式,填写好账号信息保存,后台会利用新的账号信息调用付款接口验证账号的合法性。成功后将所有的老记录失效,插入一条新的payment process记录,下次自动付款便会使用它。
Agent Sweep付款方式:
Agency的账户给保险公司,客户的钱直接交给agency,保险公司直接从账户扣除所需的保费。
手动付款选择Agent Sweep之后,会添加记账信息,schedule一个付款任务到agentsweep表,然后有dts去跑,调用付款接口
Solupay付款接口
solupay wiki
接口支持action参数,包括根据付款账号信息注册solupay账号,获取已注册账号token,更新注册信息,自动扣款,退款。
所有的付款结果都将保存到这里Merchant_Responses。付款报错就来这里查。entry id 为0的agent sweep的sst加入的,为2的是自动扣款sst加的,其他的则是对应的用户手动付款的。
PolicyData_Bill
账单分期信息都在这里,付款、退款、保费变化,将重新计算账单,top down类型的费用在最近bill一次性收取,event spread费用平摊到剩下的所有的未支付bill中。TODObill变动如何计算,如何adjustment.
任何影响accounting的操作都将引起recalculate bill,但是这个是底层封装的,无从知道更细节的逻辑。
ACH Payment
不知道是否准确
abbr. 自动化交易所(Automated Clearing House)
将付款信息按如下的格式保存为文本文件

Payment相关逻辑的更多相关文章
- 浅谈Android中拍照、从相册选择图片并截图相关知识点
前言 我们在Android开发中经常会需要使用相机或者从相册中选取图片的情况,今天就把这里面相关的知识点总结下,方便以后开发的时候使用. 1.相机拍照并可自定义截图功能 我们先来看如何使用Intent ...
- 查看linux中swap内存的相关参数
内容主要来源于:linux的内存回收和交换 各项命令查看的linux环境是:Linux SUSE-33 2.6.32.12-0.7-defaul zone? 内存管理的相关逻辑都是以zone为单位的, ...
- DDD实战进阶第一波(十):开发一般业务的大健康行业直销系统(实现经销商登录仓储与逻辑)
上一篇文章主要讲了经销商注册的仓储和领域逻辑的实现,我们先把应用服务协调完成经销商注册这部分暂停一下,后面文章统一讲. 这篇文章主要讲讲经销商登录的仓储和相关逻辑的实现. 在现代应用程序前后端分离的实 ...
- DRF 商城项目 - 用户( 登录, 注册,登出,个人中心 ) 逻辑梳理
用户登录 自定义用户登录字段处理 用户的登录时通过 手机号也可以进行登录 需要重写登录验证逻辑 from django.contrib.auth.backends import ModelBacken ...
- Visual Event查看页面相关绑定事件
页面相关绑定的事件比较复杂,在不熟悉的情况下很难找到相关逻辑的位置,所以希望借助工具来帮自己理清相关事件的脉络走向. 浏览器 工具 chrome( 58.0.3029.110) Visual Even ...
- 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存
首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...
- SpringBoot+MyBatis中自动根据@Table注解和@Column注解生成增删改查逻辑
习惯使用jpa操作对象的方式,现在用mybatis有点不习惯. 其实是懒得写SQL,增删改查那么简单的事情你帮我做了呗,mybatis:NO. 没办法,自己搞喽! 这里主要是实现了通过代码自动生成my ...
- WebKit(Blink分支)各组件的创建与逻辑关系
从render_view_impl.cc開始说起. 1. 方法RenderViewImpl::Initialize中有: WebLocalFrame* web_frame = WebLocal ...
- Netty服务端启动过程相关源码分析
1.Netty 是怎么创建服务端Channel的呢? 我们在使用ServerBootstrap.bind(端口)方法时,最终调用其父类AbstractBootstrap中的doBind方法,相关源码如 ...
随机推荐
- python测试开发django-20.添加创建时间DateTimeField
前言 我们在admin后台发布一篇文章的时候,一般会有创建时间和最后更新时间这2个字段,创建时间就是第一次编辑文章的时候自动添加的,最后更新时间就是每次修改文章的内容后自动更新 在models.py建 ...
- BZOJ 3172 [Tjoi2013]单词 AC自己主动机(fail树)
题意:链接 方法:AC自己主动机与fail树性质 解析:复习AC自己主动机的第一道题?(真正的第一题明明是又一次写了遍hdu2222! ) 这题说实话第一眼看上去就是个sb题,仅仅要建出来自己主动机. ...
- kafka-python的gevent模式和kafka的兼容性
使用gevent会杀死kafka的consumer线程:据查:kafka-python对gevent的支持不是太好,可以使用pykafka:但是可以kafka-python可以结合eventlet使用 ...
- kafak-python使用补充
kafka-python的心跳报文使用的是一个独立的线程,以固定的时间(heartbeat_interval_ms,默认是3000ms)间隔发生心跳信息 member_id唯一标识一个客户端的cons ...
- 本地git库gitlab库链接服务器库 idea git 配置 gitlab 配置 git生成ssh公钥
下载git https://git-scm.com/ 安装以后会右键菜单出现Git Base Here 点击Git Base Here 输入 cd ~ 进入你的用户根目录 创建文件夹 mkdir ...
- 数据库savepoint
保存点(savepoint)是事务过程中的一个逻辑点,我们可以把事务回退到这个点,而不必回退整个事务. 语法 编辑 savepoint savepoint_name 这个命令就是在事务语句之间创建一个 ...
- RV32C指令集
Risc-V支持16位压缩格式,压缩格式立即数位数更少,能使用的寄存器也比较少,有些指令只能用常用8个整数寄存器(x8-x15)或者(f8-f15). 每个RVC指令都有对应的32位指令,下表列出所有 ...
- 7.5 zookeeper客户端curator的基本使用 + zkui
使用zookeeper原生API实现一些复杂的东西比较麻烦.所以,出现了两款比较好的开源客户端,对zookeeper的原生API进行了包装:zkClient和curator.后者是Netflix出版的 ...
- 一款基于TweenMax跟随鼠标单击移动的div
今天给大家分享一款基于TweenMax跟随鼠标单击移动的div.在这款实例中你可以单击任意位置,div会移动到你单击的位置.效果图如下: 在线预览 源码下载 实现的代码. html代码: < ...
- 关于android SDK安装Failed to fetch URL 一点思考
最近SDK出问题了,然后在google下载了一个android-sdk-windows.rar,然后点击SDK Manager,结果一直不能刷新API Level,然后就开始在网上找了好多资料,解决这 ...