聚合支付系统设计(三)

退款网关与退款状态查询设计

背景

退款业务,相对于支付业务,部分需求方(包括产品、市场的同事)认为退款业务不是那么紧急或重要。从业务角度分析,没有支付业务,用户无法支付或支付优惠活动无法开展,但没有退款功能,则不影响用户下单支付和开展优惠活动。用户申请退款,财务可登录第三方支付平台提供的商户管理系统进行人工退款操作。因此,目前应该还有许多电商平台的退款业务都是财务人工操作的,当公司订单到了一定规模,人工退款操作则是不可行的。这时候,则需要一一对接退款业务。

从系统安全角度分析,退款业务的重要性甚至比支付业务更要高,因为退款业务可以理解为是商户自己向用户付钱,如果多付,所造成的公司财务损失,几乎不可能追回。常见的风险有:订单申请了部分退款,由于各种原因造成多退的情况;系统退款由于操作人疏忽或其他原因造成不该退款的订单退款给用户的情况。以上两种情况,我身边确实有这样的案例,最大的一次损失,是一个下午,给公司造成了80多万的损失。鉴于此,在设计退款模块的童鞋,逻辑一定要缜密,不要有疏忽、漏洞等隐患。

退款网关

对用户主动取消的已付款订单、或者因为库存不足、无法配送等各种原因需要撤销订单的,都需要给用户进行退款操作,退款形式有原路退款、银行转账、退余额等,目前主流的都是进行原路退款。退款网关不能有用户直接访问,订单要有退款申请与审批流程,一般是在订单管理系统控制,有订单管理系统调用退款网关,发起退款请求,聚合支付系统要对退款网关做好身份验证及安全防范。

聚合支付平台退款部分,也需要异步通知处理队列,消费队列接受来自第三方异步通知、crontab主动查询或人工查询到已退款成功的订单退款数据,将其统一处理,更新退款单状态、通知订单系统等操作。

退款交易流水表,主要字段展示

Name Field remark
系统订单号 order_id 商户订单系统的真实订单号
退款单号 refund_id 传给第三方平台的退款订单号
外部系统的退款单号 out_refund_id 一般指订单系统传来的退款单号
退款流水号 refund_no 第三方支付平台的退款流水号
支付方式id payment_id  
退款发起平台 platform  
订单支付金额 total_fee  
退款金额 refund_fee  
退款类型 refund_type 全额、部分
退款状态 refund_status enum(wait、success、failed)
同步状态 sync_status enum(wait、success、failed)
退款申请时间 create_time  
异步通知时间 notify_time  
同步订单系统时间 sync_time  

注意点

  • 不管来自哪里的退款申请,都要先查询订单支付状态,直接调用第三方支付的查单接口去查最新的订单状态、可退金额等信息,并以此为准;
  • 退款金额校验,如果是全额退款,则只需验证退款金额等于支付金额,方可调用退款接口进行退款;如果是部分退款,则要计算已经成功退款的金额总额,以及已经退款申请成功,但还没收到第三方的退款成功通知这部分的金额总额,订单支付金额减掉这两部分的总金额之后的金额是可退金额;
  • 对于部分退款申请处理,如本次已经申请成功了,还在处理中的退款,不要重复申请退款;

退款异步通知

同支付异步通知一样,退款异步通知也建议使用队列进行解耦,收到第三方的退款通知,只需要验签和金额校验后,则将报文数据push到退款通知队列中,有后端消费进程去更新退款单的退款状态、通知订单系统的退款状态等后续处理流程。

支付/退款状态查询

针对上一章节所遇到的问题,虽然主动对账可以处理掉绝大部分已支付订单被挂起的问题,但难免有漏网之鱼,没有被及时处理的订单,用户肯定不干,要投诉平台。鉴于此,我们开发人员需要给客服或者财务同事提供一个后台查询系统,用于处理客诉中这类问题的订单。该模块需要支持两点:

  • 所有第三方支付平台的查询接口返回报文格式数据都不一样,我们需要将其组织成统一的格式返回给前端,前端再展示给客服能看得懂的信息数据;
  • 如果查询订单支付成功,需要将其订单支付数据自动push到异常订单处理队列中,及时更新订单支付状态;

原文地址:https://www.cnblogs.com/jpfss/p/9909080.html

时间: 2024-09-29 00:52:37

聚合支付系统设计(三)的相关文章

聚合支付系统设计(二)

支付网关与异步通知设计 支付网关 用户下单成功后,要经过收银台发起支付流程,支付网关就是用户发起支付流程的入口地址.支付网关需要接收订单的部分数据(订单号.待支付金额.商品描述信息等)和交易数据(支付方式.交易起止时间.回调地址等)以及签名,支付网关接收到收银台的支付请求后,验证并处理支付请求数据,再根据支付方式获取支付实例(比如WechatAPPPayment对象),发起支付(执行doPay). 支付交易流水表,以下重要字段: Name Field remark 系统订单号 order_id

什么是聚合支付,聚合支付有什么优势

什么是聚合支付,聚合支付有什么优势 聚合支付:也称"融合支付", 聚合支付简单理解就是通过技术服务聚合了各种第三方支付+线下收单等能力的支付方式,目的在于简化商家的接入和统一对账的问题,外加后续的增值服务.极大方便了客户和商户的使用. 聚合支付诞生背景 截至2016年6月,我国使用网上支付的用户规模达到4.55亿,较2015年底增加3857万人,增长率为9.3%,我国网民使用网上支付的比例从60.5%提升至64.1%.手机支付用户规模增长迅速,达到4.24亿,半年增长率为18.7%,网

聚合支付系统平台开发

聚合支付系统开发,聚合支付软件定制(陈琦:138-2848-7919可微)聚合支付模式开发,聚合支付APP开发,聚合支付平台APP,聚合支付软件开发 互联网软件免费是有一定道理的,互联网产品是无形的,互联网产品的成本远远小于传统行业产品的成本,生产一个产品的成本基本上是可以确切去量化的,无非就是人力成本,办公场地成本,服务器.带宽成本,运营成本,再加上一些杂七杂八的成本,成本可控可测.互联网产品传播起来比传统产品更快捷.更方便也更有容易,可以无限复制,如果按照传统行业对边际成本的定义(每生产一单

第四方支付、聚合支付介绍

第四方支付是聚合支付公司整合支付宝支付.×××支付.银联支付.京东钱包.QQ钱包.百度钱包等第三方支付接口,便于商户一次接入,享用多个支付接口.第四方支付公司面向移动互联网开发者提供×××支付.支付宝.银联支付.京东钱包.QQ钱包.百度钱包等主流支付渠道代接入服务,一站式解决支付接入.信息核验.数据分析等交易问题.商户可通过第四方支付公司申请×××扫码支付.×××H5支付.×××APP支付.支付宝等支付.商户直接与银行签订支付协议,商户接入银行支付系统,由银行与商户进行结算. 优点: 1.集成了

聚合支付有多少种类别?

聚合支付实现商户主流支付方式一并接入.合并到账,真正适应市客户对支付的需求,在未来的支付市场上意义深刻.那么,聚合支付到底有多少种类别呢?小编根据企业的技术实现和资金处理方式,将其归纳为四大类.让我们看看是哪4类吧. 一."二清"类聚合支付 "二清"类平台主要有两种,一是套现,二是打擦边球赚取汇率差额.由于"二清"支付终端的申请.发放.审核环节一般不会按照监管要求认真执行相关管理规定,导致大量个人或小商户借助其进行信用卡套现业务.国内很多游戏.视

聚合支付:综合金融度寒冬

若聚合支付继续以服务费为主要盈利渠道,即便肃清行业乱象,监管文件的保驾护航也抵不住行业内部资源的快速消亡.同理,从支付企业的市场布局不难发现,支付业务仅为它们的一个场景入口,背后却是战略宏图.以产品创新为生存之道,推进支付服务向综合金融转变,聚合支付才能顺利度过寒冬,迎来春暖花开. 在部分提供聚合支付的服务商中,可以看到在此基础上衍生出的其他服务,如消费金融.现金贷.广告.SaaS软件以及大数据分析等企业服务.因此,可预见,未来聚合支付不仅围绕支付渠道的整合开展业务,其"支付+"路径还

移动聚合支付平台设计逻辑

在移动互联网络技术逐渐成熟和移动互联网应用快速发展的环境下,移动互联网的收费通道和计费用户体验占有举足轻重的地位.对于移动互联网企业,快速的收入和回报有利于企业长期和稳定的发展:对于服务和应用的用户而言,方便快捷的支付方式和支付体验有利于提高用户对移动互联网的支持和拥护,更加有利于移动互联网的快速发展.因此,聚合手机支付平台需要解决以下问题.1.兼容性强支持市面上各种主流支付方式,且易于扩展支持新支付方式,从而提高企业利润,且给用户较好的体验.(1)统一支付接口,降低维护成本将各种主流的支付方式

“聚合支付”增值盛宴:打通银行垂直账户壁垒

近年来,"聚合支付"行业迎来井喷式的大爆发,商业银行.第三方支付机构.收单代理商等纷纷加入到这一领域的竞争. 所谓"聚合支付"也称"融合支付",是指从事支付.结算.清算服务之外的支付服务商,借助银行.非银机构或清算组织的支付通道与清结算能力,利用自身的技术与服务集成,将一个以上的银行.非银机构或清算组织的支付服务整合到一起,为商户提供"支付通道"."集合对账"."技术对接"."

聚合支付好用吗?聚合支付优势

我们的支付方式正在发生巨大的变革,未来移动支付会成为我们日常消费和支付等业务的主角.但是支付渠道多如牛毛,"碎片化"程度越来越深,在此背景下锋锐聚合支付顺应时代发展的需求,为消费者和商户提供灵活性.便捷性的支付服务一举登上历史舞台.那聚合支付有哪些优势呢?优势一:碎片化第三方支付渠道和移动支付方式的"分散性"是聚合支付存在的一个根本因素.不能轻松满足客户需求,不能快速实现服务,这意味着放弃客户,商家需要支付以满足客户支付痛点,而且还需要一个安全方便的收银工具来减少成