Monnify还款回调业务流程图
2022-05-29 13:53:44 0 举报
还款回调业务流程
作者其他创作
大纲/内容
>> 未结清还款状态:4,部分还款
借款表 记录本次还款的金额,更新状态
还清后更新用户类型,如果已经结清,用户类型是新户,将其变为老户;
根据userGid查询用户信息
还款完成后续处理 ,贷中触发
>> 查询sco.globle_config,查看是否是后置产品,afterProduct=400003 >>>> 交易金额 >= 借款手续费 ==> 本次还款手续费部分 = 借款手续费 >>>> 交易金额 < 借款手续费 ==> 本次还款手续费部分 = 交易金额 >>>> 交易金额 = 交易金额 - 本次还款手续费部分
生产者端流程结束
更新催收任务
根据orderId查询借款记录
插入还款表记录 record_repayment
待还本金 + 待还利息 + 剩余需要还的逾期费用 <= 0 表示已经结清
是否>=0
Monnify发起还款回调
根据userGid查询用户借款列表
没有查询到虚拟账号,预警并响应500状态码
循环遍历借款列表,组装参数
交易金额等于0,直接返回return null;
判断借款是否已经结清
>> 计算本次还款滞纳金部分 >>>> 交易金额 >= 剩余需要还的逾期费用 ==> 本次还款滞纳金部分 = 剩余需要还的逾期费用 >>>> 交易金额 < 剩余需要还的逾期费用 ==> 本次还款滞纳金部分 = 交易金额 >>>> 交易金额 = 交易金额 - 本次还款滞纳金部分
是否已经处理
消息消费端结束
type置为3,多还增加余额记录还款请求表pay_repayment_info
repaymentStatus还款状态==2还款状态:0待还款 1还款中 2已还款 3还款失败
还款通知贷超
>> 计算本次还款利息部分 >>>> 交易金额 >= 待还利息 ==> 本次还款利息部分 = 待还利息 >>>> 交易金额 < 待还利息 ==> 本次还款利息部分 = 交易金额 >>>> 交易金额 = 交易金额 - 本次还款利息部分
根据loanGid查询借款记录
获取用户编号product/reference节点,根据用户编号查询虚拟账户
插入还款交易记录表 trans_deduction
是否为延期还款
还款金额(除去通道手续费)大于等于待还本金 && 还款回调时已逾期 && 未还清 && 非贷超 ==> 重新计算逾期费,更新订单
获取还款方式 4413
return true
延期还款流程开始
是否小于0
从风控配置获取逾期费配置
是否查询到借款数据
消息消费端开始
{\"transAmount\
计算每日逾期费
{\"eventData\": {\"product\": {\"reference\": \"8adb6604feae44979d6adf54bf373db8\
根据userGid查询用户账户信息,UserAccount
如果订单已还款,记录多还金额 发送预警
本地没有在判断有没有锁,有锁直接退出
是否获取到虚拟账号
解析还款回调参数
计算距离上一次计算逾期费的间隔天数
循环发送消息通知
如果状态是1 已支付状态,重复回调,响应500状态码
保存还款记录请求表 pay_repayment_info
单个订单计算逾期天数
重新获取借款记录
如果没有查询到借款记录新增gemini.log_balance表(账户余额变更记录表)
根据userGid和recordLoan.getProductId()查询子账户信息,UserSubAccount
>> 计算还款本金: >>>> 交易金额 >= 待还本金 ==> 还款本金 = 待还本金 >>>> 交易金额 < 待还本金 ==> 还款本金 = 交易金额 >>>> 交易金额 = 交易金额 - 还款本金
根据虚拟账号信息获取userGid根据userGid获取用户信息
// TODO
先根据order_id(transactionReference)判断数据是否已经处理
更新借款记录表
是否获取到锁
0 条评论
下一页