首页 > 其他分享 >肖sir___退款____项目梳理

肖sir___退款____项目梳理

时间:2024-08-07 10:31:50浏览次数:15  
标签:sir 商户 金额 调账 ____ 订单 ___ 退款 手续费

退款是支付平台的一个重要业务,退款流程需要具备可视化、自动化和简约化,帮助提升平台效率的同时也要减少用户退款的操作。本文作者对支付平台的退款流程进行了分析,希望对你有帮助。

一、简介

退款流程是第三方支付平台的核心流程,也是支付业务的核心业务;退款流程实现退款流程的可视化、自动化和简约化,减少商户的退款操作,降低支付平台财务的退款工作,提高了退款流程效率,同时降低了退款流程的风险。

1.1 目的

软件需求是软件开发的依据,也是软件工程各项活动的基础。编写本PRD的目的就是将退款流程的需求清晰准确地描述清楚,为制定项目开发计划和后期的概要设计、原型设计、测试等阶段的工作提供可靠的依据。

1.2 范围

本文档阅读对象为产品经理、项目经理、UI设计师、开发工程师、测试工程师。

二、客户端角色描述

三、产品概述

退款流程是支付平台常见的业务形式,退款流程可以减少商户管理员和平台管理员的退款操作步骤,提高退款效率,降低退款风险,减少商户和平台运营人员的工作量。

3.1 总体功能架构图

3.2 系统流程图

四、 功能需求说明

4.1 商户端

4.1.1交易记录

页面设计:

交易记录

退款申请

需求说明:

1、商品订单状态为“支付成功”且退款状态为“退款处理中”时,不显示“退款”按钮;商品订单状态为“支付成功”且退款状态为“退款成功”时,不显示“退款”按钮;商品订单状态为“支付成功”且退款状态为“待审核”时,不显示“退款”按钮;

2、商品订单状态不为“支付成功”时,不显示“退款”按钮;

3、订单状态为“支付成功”且退款状态为空,显示“退款”按钮;订单状态为“支付成功”且退款状态为“退款失败”,显示“退款”按钮;订单状态为“支付成功”且退款状态为“审核拒绝”时,显示“退款”按钮;

4、点击“退款”,退款按钮判断逻辑详见业务逻辑图,逻辑校验通过后,生成一条新的退款记录。

5、交易记录界面,点击“退款”,出现弹窗,退款原因必填;点击“确定”,判断是否可以发起退款,校验通过后,退款状态为“待审核”;

4.1.2 退款记录

页面设计:

退款记录

退款详情

需求说明:

1、将退款记录放在“交易管理”菜单下;

2、支付退款金额=退款金额-退款退手续费金额+退款收取手续费(注:现有通道,退款均没有收取佣金,退款收取佣金字段先做预留);

3、退款失败或审核拒绝的订单,需备注退款失败或审核拒绝的原因;

4.1.3 现金账户明细

页面设计:

需求说明:

现金账户包含的交易名称:

退款:用户发起退款,预扣商户的可用余额后才能发起的退款,备注中标注“支付退款金额”;若退款失败,需生成一条新的明细记录,返回退款失败的金额,备注中需标注“支付退款金额失败,返还金额”;

退款调账:退款为短款时,与商户协商,通过调账的方式返已扣的金额,注意备注为“退款订单号:************,退款交易未达成,调账返还已扣金额”;

充值:交易状态只包含“充值成功”的订单,已提交但是未支付的订单不显示;

结算:只显示结算到可用余额的金额;结算到银行卡的金额不显示在账户明细中;交易状态只包含结算成功的记录;

提现:将现金账户的可用余额提现到商户的银行账户中,交易状态包含提现的各个状态;

提现失败时,需生成一条相同流水号的收入记录,备注“提现失败,返还提现金额”

错账调账:后台调账到现金账户后,前端显示该笔调账记录;交易状态“成功”

冻结:针对现金账户中的金额,后台执行冻结后,前端显示该笔记录;交易状态包含“成功”

解除冻结:针对现金账户中的金额,后台执行解除冻结后,前端显示该笔记录;交易状态包含“成功”

交易名称为“退款”时,交易金额=退款金额-退款退手续费金额;手续费=退款收佣金金额

显示样式:

没有手续费时,手续费显示为空

4.1.4 代付账户明细

页面设计:

需求说明:

代付账户包含的交易名称:

退款:用户发起退款,预扣商户的可用余额后才能发起的退款,备注中标注“支付退款金额”;若退款失败,需生成一条新的明细记录,返回退款失败的金额,备注中需标注“支付退款金额失败,返还金额”

退款调账:退款为短款时,与商户协商,通过调账的方式返已扣的金额,注意备注为“退款订单号:************,退款交易未达成,调账返还已扣金额”

充值:交易状态只包含“充值成功”的订单,已提交但是未支付的订单不显示

结算:只显示结算到可用余额的金额;结算到银行卡的金额不显示在账户明细中;交易状态只包含结算成功的记录

提现:将现金账户的可用余额提现到商户的银行账户中,交易状态包含提现的各个状态;

提现失败时,需生成一条相同流水号的收入记录,备注“提现失败,返还提现金额”

错账调账:后台调账到现金账户后,前端显示该笔调账记录;交易状态“成功”

冻结:针对现金账户中的金额,后台执行冻结后,前端显示该笔记录;交易状态包含“成功”

解除冻结:针对现金账户中的金额,后台执行解除冻结后,前端显示该笔记录;交易状态包含“成功”

交易名称为“退款”时,交易金额=退款金额-退款退手续费金额;手续费=退款收佣金金额

显示样式:

没有手续费时,手续费显示为空

4.2 平台端

4.2.1 支付通道配置

页面设计:

支持退款

不支持退款

需求说明:

添加通道的默认界面,新增字段(以下新增字段不在通道列表显示):

  1. 是否支持撤销:默认为“否”,该字段目前仅用于记录,不参与判断;
  2. 是否支持退款:默认为“是且支持当日退”,未勾选“支持当日退”时,表示该业务类型不可在当日退款,如厦门民生的B2B;该字段需参与判断,该通道是否可以发起退款

支持当日退时,当天的交易可以发起退款;不允许当天退款时,当天的交易不允许退款;

  1. 退款是否退手续费:默认“不退手续费”;“全额全退,部分不退”表示退款金额等于订单总额时,上游会退还手续费,退款金额小于订单总额时,上游不会退还手续费;“按比例退还手续费”,表示上游按照“退款金额/订单金额*交易手续费”退还手续费
  2. 退款收取佣金费率:上游再次收取的退款手续费,该字段作预留,暂时不用,该字段选填

该界面以前判断逻辑保持不变;

新增字段需同步更新到通道详情界面、修改通道界面、通道复核界面

不支持退款时,不显示“支持当日退”,退款退手续费下拉框置灰、退款收取佣金费率置灰

4.2.2 商品订单管理

页面设计:

需求说明:

在现有的商品订单详情界面,变化如下:

  1. 操作中去掉“退款”按钮,退款操作只能由商户从前端发起,后台不能操作;
  2. 原订单状态中去掉退款相关的状态,在列表中新增字段记录“退款状态”,状态包含退款成功、退款失败、退款处理中、待审核和审核拒绝;未支付成功的订单或未申请退款的订单,退款状态为空

4.2.3 退款订单管理

页面设计

需求说明:

退款退手续费:根据与商户签订协议中明确的退款是否退手续费率计算;

退款状态:

待审核:

商户申请退款,系统受理后,自动提交到后台复核,待审核通过后,才向上游通道发起退款

审核拒绝:

后台复核拒绝后,退款订单状态置为“审核拒绝”

“退款处理中”:

对于使用银行卡支付的退款订单 ,系统受理退款,组织交易报文到上游,上游受理但暂未收到上游返回退款成功的消息;对于“退款处理中”的订单,可以同步订单状态

对于使用支付账户支付的的退款订单,实时返回到支付账户

“退款失败”:

系统受理退款,组织交易报文到上游,上游返回“退款失败“,从商户前端可再次发起退款

“退款成功”:

上游返回“退款成功”的消息(或与上游在T+1清结算时,该笔订单的对账状态为对账一致)

对于使用支付账户支付的的退款订单,实时返回到用户支付账户,实时增加用户的支付账户余额,退款成功

退款订单与商户清结算:

由于退款订单在发起时已经从商户的可用余额中扣款,故已完成结算,只需要向下游商户提供退款的对账文件即可

对账状态:

包含“未对账“、“对账成功”和“对账存疑”3个状态;提供到下游商户的退款对账文件中,取退款状态为“退款成功”的订单,包含退款到虚拟账户和退款到银行账户的订单

退款详情

页面设计:

需求说明:

退款订单号由下游商户生成或与退款受理流水号一致;

退款受理流水号,系统的唯一性标识;

“商品订单号”改为“原商品订单号”;

“退款退手续费”指支付机构为商户受理退款,将原始交易的手续费退给商户,根据业务类型配置的退款退手续费的方式,计算金额;不退手续费时,值为0;手续费精度:截取小数点后3位,四舍五入到小数点第2位;

退款收佣金:根据设置的费率,计算佣金,未收取时,值为0;佣金精度:截取小数点后3位,四舍五入到小数点第2位;

退款渠道流水号:退款成功后,支付渠道返回的流水号;

通道退手续费:根据通道设置的信息,由程序计算;

通道收取佣金:根据通道设置的信息,由程序计算;

“退款原因”是商户上送的针对该笔订单的退款说明;

4.2.4 商户开户

页面设计:

需求说明:

商户结算设置:

当商户结算周期为T+1时,联动出新增字段“退款模式:从结算账户中扣减”,目前只有一种模式,此处预留,待后期扩展;

退款退手续费

包含不退手续费、全额退手续费、按比例退。

选择不退手续费时,当该商户的该业务类型发生退款时,不退手续费;

选择全额退手续费时,当该商户的该业务类型的订单发生全额退款时,退交易手续费;

退款收佣金费率:

费率为比例时,退款收取的佣金=退款金额*费率比例

费率为定额时,退款收取的佣金=设置的定额费用

业务和运营可根据商户需要配置退款手续费。

4.2.5 商户服务列表

页面设计:

需求说明:

所有的业务类型,在主通道或备通道选择弹窗中,在原有查询条件基础上,新增查询条件“是否支持退款”、“退款是否退手续费”,可按照设置的条件查询相应的通道

查询逻辑:

  1. “是否支持退款”选择“是”时,可按照“退款是否退手续费”继续细分查询
  2. “是否支持退款”选择“否”时,选择“退款是否退手续费”中的任意一项都不用筛选
  3. “是否支持退款”为“请选择”时,可按照“退款是否退手续费”中的选项进行筛选

4.2.6 退款复核管理

页面设计:

复核列表

待审核

需求说明:

点击“通过”或“拒绝”后,更新复核状态、复核人和复核时间;

若原支付方式为虚拟账户支付,点击通过时,执行退款逻辑校验,校验通过后,退款成功,退款金额实时返回到用户的支付账户;校验失败时,后台页面展示相应提示;

若原支付方式为银行卡、扫码等支付方式,点击通过时,执行退款逻辑校验,校验通过后,,将退款请求上送到上游通道,退款订单状态置为“退款处理中”;校验失败时,后台页面展示相应提示

退款审核,点击“拒绝”时,出现弹窗,需输入拒绝原因;

拒绝操作后,退款订单状态置为“审核拒绝”;

审核拒绝:

页面设计:

需求说明:

点击“通过”或“拒绝”后,更新复核状态、复核人和复核时间;

  • 若原支付方式为虚拟账户支付,点击通过后,退款成功,退款金额实时返回到用户的支付账户;
  • 若原支付方式为银行卡、扫码等支付方式,点击通过时,判断上游通道是否支持退款且通道是否为开启,若通道支持退款且通道开启,将退款请求上送到上游通道,退款订单状态置为“退款处理中”;
  • 若原支付方式为银行卡、扫码等支付方式,点击通过时,判断上游通道是否支持退款且通道是否为开启,若通道不支持退款或上游通道关闭,提示文案“上游通道不支持退款或通道已关闭,请核对通道状态”;

退款审核,点击“拒绝”时,出现弹窗,需输入拒绝原因;

拒绝操作后,退款订单状态置为“审核拒绝”;

4.2.7 退款订单对账

页面设计:

需求说明:

界面变化:

  1. 搜索条件和列表字段,详见页面设计
  2. 对账成功历史管理菜单下,分拆为2个子菜单“收款对账”和“退款对账”

退款订单:

交易手续费=退款收佣金总和

通道费用=上游收取佣金总和(取对账文件中收取的费用)

收单收益=交易手续费-通道费用

退款退手续费=取对账文件中的退款退手续费金额

4.2.9 财务调账

页面设计:

账户调账记录

调账登记

调账流程图

需求说明:

退款的对账出现短款后,确定上游的对账文件不包含该笔退款订单后,可进入调账中,通过“退款调账”的方式将已扣的商户可用余额返回

退款调账:

账户类型默认“调账登记”

客户编号为必填:输入客户编号,一般商户调账到现金账户;平台商户调账到代付账户

退款订单号:输入退款订单号,鼠标市区焦点时,判断逻辑如调账流程图

调账金额:退款订单号校验通过后,自动获取调账金额,无需手动输入,调账金额=退款金额-退款退手续费金额+退款收取佣金金额

调账类型:只有“增加”

备注:存储时,需在此处备注的内容前拼接“退款订单号:******  ”,如在备注中输入“返回退款抵扣的金额”,保存的备注信息为“退款订单号:******,返回退款抵扣的金额”

点击“确定”,需要对该退款订单号再次判断,判断通过后,调账成功后的处理:

账户明细中生成一条退款调账记录,商户的可用余额增加;

4.2.9 退款设置

页面设计:

需求说明:

程序默认可退款订单时长为90天,该时间可根据市场需要修改。

标签:sir,商户,金额,调账,____,订单,___,退款,手续费
From: https://www.cnblogs.com/xiaolehong/p/18346504

相关文章

  • 电子表格转身购物车:三步轻松实现
    最新技术资源(建议收藏)https://www.grapecity.com.cn/resources/在我们的项目当中,经常需要添加一些选择界面,让用户直观地进行交互,比如耗材、办公用品、设计稿或者其它可以选择的内容。在线商城的商品目录和购物车无疑是一种大家都很熟悉的交互方式,但是在实际开发中,我们可能会......
  • Linux杀毒软件clamav1.3.1离线安装及杀毒
    Linux杀毒软件clamav1.3.1离线安装及杀毒wgethttps://www.clamav.net/downloads/production/clamav-1.3.1.linux.x86_64.rpmrpm-ivh--prefix=/usr/local/clamavclamav-1.3.1.linux.x86_64.rpmgroupaddclamavuseradd-gclamavclamavmkdir-p/usr/local/clamav/logsmkdir-......
  • Android开发基础04-Java 和 Kotlin
    引言Java和Kotlin是两种主要用于Android开发的编程语言。理解它们的基本概念、特点、优缺点及常见用法,对Android开发者来说非常重要。1.Java基本概念Java是一种面向对象、跨平台的编程语言,于1995年由SunMicrosystems(现为Oracle)发布。它的设计理念是“WriteOnce,Ru......
  • 深度解读昇腾CANN小shape算子计算优化技术,进一步减少调度开销
    摘要:Host调度模式下,GE将模型中算子的执行单元划分为HostCPU执行与Device(昇腾AI处理器)执行两大类。本文分享自华为云社区《深度解读昇腾CANN小shape算子计算优化技术,进一步减少调度开销》,作者:昇腾CANN。GE(GraphEngine)将模型的调度分为Host调度与下沉调度两种模式。经过上期的介......
  • pb函数库之字符串操作函数
    Fill()功能建立一个由指定字符串填充的指定长度的字符串。语法Fill(chars,n)参数chars:string类型,指定用于重复填充的字符串n:long类型,指定由该函数返回的字符串的长度返回值String。函数执行成功时返回n个字符的字符串,该字符串以参数chars中的字符串重复填充而成。如果参数c......
  • SAP PO接口报文保存到内表中
    有一个需求,接收PI传数据过来后,除整理数据保存到用户数据表外,在后期还需要把报文加工一下(要求报文内容与原接收报文一致,只是补加少量值),在发送到其它的系统。由于数据接收后已对数据加工到了用户表,已没有原报文内容(比如金额已累计),如从用户数据表中再取出数据整理加入发送出去,一是......
  • [Java的写法]之MD5对字符串签名操作
    对字符串签名后,1:长字符串变为32位字符:aacfbe08d042fddd8ee778b148efc9232:只要长字符串内容不变,签名后得到的32位字符不变。适合用来做ID等。privateStringgenKeyId(StringkeyStr){returnMd5Utils.getStringMD5(keyStr);}Md5Utils类如下:`importjava.io.File;impor......
  • leetcode数论(1232. 缀点成线)-几何
    前言经过前期的基础训练以及部分实战练习,粗略掌握了各种题型的解题思路。现阶段开始专项练习。数论包含最大公约数(>=2个数)、最大公约数性质、最小公倍数、区间范围质因素计数(最下间隔)、质因素分解、判断质数、平方根、立方根、互质、同余等等。描述给定一个数组 coor......
  • 【Python】网络编程
    计算机网络的介绍计算机的发展经历了以下几个阶段:阶段时间物理器件第一阶段1946年到20世纪50年代后期电子管第二阶段20世纪50年代后期到20世纪60年代中期晶体管第三阶段20世纪60年代中期到20世纪70年代初期中小规模集成电路第四阶段20世纪70年代初期至今大规模集成电路1.通......
  • (五)time库的使用
    Python是一种功能强大的编程语言,其标准库中包含了丰富的模块和函数,用于处理时间和日期信息。其中,time模块提供了对时间的访问和处理功能,使得程序员可以轻松地操作时间数据。本篇博文将详细介绍time库的使用方法,包括基本介绍、时间获取方式、时间格式化和程序计时应用。1.time库......