系统设计:用户提现及手续费

6 评论 14890 浏览 89 收藏 5 分钟

本篇文章主要对用户提现及提现手续费进行复盘。

文章中所指提现是用户在平台发起提现申请,监管银行按照指令将客户虚拟子账户中的金额打款至签约绑定的银行卡,监管账户及平台资金减少,签约绑定卡资金增加的过程。

场景描述

假设B商家在平台出售产品共收入1000元,现在需要将资金全部提取出去用作其他用途,平台手续费率为千分之五。

业务流程

用户登录平台后,输入提现金额及交易密码,提交提现申请。

在提交申请前系统会判断余额会否足够及与银行系统是否链接,如符合条件,进入财务审核环节(根据实际应用场景定是否需要这一步),审批通过后才会通过指令调银行出金接口,银行进行出金处理。

账户变动情况

下述表格模拟在提现过程中遇到几种问题,及对应的账户变动情况说明。

资金冻结:B商户在平台提交提现申请后,由于需要平台财务人员审核(主要针对商户发票、客户真实性等进行审核)对提现资金进行冻结,确保资金安全。

财务审核不通过

则表明用户提现失败,系统将冻结资金进行解冻,资金原路返回到平台的可计提账户中,由于不涉及银行流程,因此操作对银行无感,虚拟子账户不受影响。

冻结金额-1000,可提现金额+1000,变动后:可提现金额1000,冻结金额0

财务审核通过

财务审核通过后,平台发起调用银行出金接口并发送请求,接口请求报文包括:交易流水号、客户名称、银行账号、资金账号、转账金额、币种、摘要等基本信息,监管银行接到指令后,校验是否满足出金条件:

(1)如满足则返回交易处理中提示并进行出金操作,银行返回成功状态时,虚拟子账户及平台冻结金额均需扣减提现所需金额,并更新平台提现状态为成功;

冻结金额-1000,虚拟子账户余额-1000,变动后:可提现金额0,冻结金额0,虚拟子账户余额0

(2)如不满足出金条件或是银行出金处理失败,则银行返回失败状态时,虚拟子账户资金不变且冻结金额资金回退至可提现金额,并更新平台提现状态为失败。

冻结金额-1000,可提现金额+1000,变动后:可提现金额1000,冻结金额0

关于手续费问题我觉得有必要再说明下,由于手续费属于平台收益,在调用银行接口时需要与实际用户到账金额进行区分,因此本示例中B商户提现金额是1000,手续费应该是5,因此实际到账金额应该为995,在实际调用出入金接口时传参应该是995,不是1000!!

那么另外5元到哪里去了呢?这个就要等到晚上进行系统对账时将多余的5元作为收益计入平台在监管账户的平台账户中,后续关于该账户的大坑就再细说吧~

 

本文由 @forget 原创发布于人人都是产品经理,未经作者许可,禁止转载。

题图来自Unsplash,基于CC0协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 资金流很多坑的,不只是从平台角度来考虑,还要考虑上下游的规则。

    来自广东 回复
  2. 某些场景的提现 还要考虑个人所得税的问题,之前没少踩这个坑。

    来自河南 回复
    1. 能详细说一下吗,可能是我调研的太浅,我现在还没有考虑到个人所得税的问题,若能解答不胜感激

      来自河北 回复
    2. 比如一些自媒体作者的稿费、流量分成等,还有一些活动奖金,理论上会计科目是劳务报酬的,都是要交个人所得税的。而且对公和对个人也不一样,对公的话平台不用管,对个人的话,平台需要代扣税等。

      来自北京 回复
    3. 您好,请教您一下:
      1、如果个人所得需要代扣税,那么这个环节是否开一个收税的账户(税费实时分账过去)就能够解决?而这个账户是否有什么资质上的要求?
      2、在个人收税环节是否会判断在一定的时间范围内(比如一个月)累积提现到某个额度后就会根据规则计算税费然后收取?
      感谢。

      来自天津 回复
  3. 鼓励一下,做充提确实有很多坑,还有很多由实际需求及场景引发的判断,比如是否达到平台当日可提现金额上限,用户个人当日可提现金额上限等等

    来自北京 回复