一文解密交易金额退款时,资金如何原路退还?
买卖双方在互联网上的电子商务网站进行交易时,大多数情况下都会使用在线支付功能,常见的在线支付方式有支付宝、微信支付、Apple支付等等,那么我们一起归纳一下。
图1:在线支付方式
当买卖成功后,不管是买家原因或卖家原因,可能会需要退款操作。现在以常规电商平台为例,使用支付宝作为支付方式,来介绍本文重点内容:退款金额是如何原路退还的。
图2:退款节点
通过图2可以发现,用户可以在订单状态为待发货、待收货、交易成功时,均可以发起退款操作。
待发货:商品还未发出,用户可能因为未使用优惠券或拍错了等原因发起退款。
待收货:用户收到商品,发现商品有瑕疵等商家原因,就不确认收货。这时候状态还是处于待收货中,用户可发起退款。
例子:用户买了一箱苹果,发现里面有一半的苹果已经坏了,这时候用户跟商家协商要退回一半的钱。
交易成功:用户确认收货后,在一定时间内依旧可发起退款。
例子:用户买了一件衣服,手快点了确认收货,但是发现衣服线头比较多,不过呢还是很喜欢,又不想换货。于是就和商家沟通,按需退回一些钱补偿自己,不然就给差评。
上述场景,商家收到用户退款申请,审核无误,点击同意退款后,按照退款规则将支付款原路退到用户的支付宝帐号上。
余额方式
余额宝方式
花呗方式
很多小伙伴就会疑问:为什么我用余额支付就退还到余额,用余额宝支付就退还到余额宝?接下来我们一步一步解密这过程。
一、用户付款
用户的常规的下单、支付流程:
- 在APP中选择商品下单、确认购买,进入支付环节,用户点击确认支付;
- 进入到支付宝页面,调起支付宝支付,出现确认支付界面;
- 确认收款方和金额,点击立即支付后出现输入密码界面或者指纹识别等操作;
- 输入正确密码等操作后,支付宝端显示支付结果;
- 自动回跳到APP中,技术人员根据付款结果个性化展示订单处理结果。
图3:支付流程
最终支付成功后,支付宝会生成一条支付信息,记录商家和支付宝平台的交易数据。
图4:支付宝账单详情
图4账单详情包含了以下主要字段:
- 付款方式:账户余额、花呗、银行卡等,优先展示支付顺序排第一的支付方式;
- 商品说明:平台可自定义文案,当做参数传给支付宝;
- 创建时间:订单支付成功的时间;
- 订单号:订单支付成功后,生成支付流水号;
- 商家订单号:也叫支付编号,平台按照规则,退款时当做参数传给支付宝。
二、退款操作
当用户因为在上述三种节点下发起退款操作,商家在后台确认售后信息无误,并同意用户退款申请后,通常在一定时间内将退款金额原路返还到用户账号上。
图5:商家退款操作
到账时间
- 退回支付宝余额:资金是实时到账;
- 退回到银行卡:一般3-7天入账;
- 退回余额宝:资金实时入账。
三、技术层面上:如何实现退款金额原路退还
当商家点击“同意退款”的时候,如果订单是用支付宝付款,就会选择触发支付宝退款接口API,按照官方退款文档说明选择上传3个参数,如下所示:
- out_trade_no:图4:支付宝账单详情中的商家订单号,由平台自定义生成;
- refund_amount:需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数;
- out_request_no:用来标记是全部退款或部分退款;这里提个建议:不管用户在终端选择的是全部退款、还是部分退款,默认最好都是传入部分退款的标识。
当然这里只上传了3个必要参数就满足我这边项目场景,而你们想要上传多少个参数,就要结合实际情况来定。
图6:退款流程
大致背后代码逻辑是这样的:
1)付款成功的时候,平台会生成商户订单号(支付编号),然后传给支付宝的支付接口,进行保存,将商户订单号和交易号进行绑定关联。
2)当时商家同意退款时,传入商户订单号等必要参数给支付宝的退款接口,然后通过商户订单号找到交易号,再通过交易号查询到当前退款订单的数据,比如实付金额、支付时间、支付方式、用户信息等数据。
3)根据所要退款的金额,通过各种异常情况的校验,最终完成金额原路返还。
常见的异常情况有以下几种情况:
- 卖家余额不足:商户支付宝账户充值后重新发起退款即可;
- 交易已完结:该交易已完结(已超过退款期限),不允许进行退款(即使重试也无法成功),建议联系买家进行线下退款处理;
- 买家状态异常:联系支付宝小二确认买家状态异常原因,或者可联系买家进行线下退款处理;
- 退款金额超限:请检查退款金额是否正确,请求的退款金额不能大于交易总金额;如果不是全额退款,退款请求号必填,请检查是否传入了退款请求号。
实际上支付宝退款文档提供的异常情况比较多,大家可以通过接口文档自行查看(https://opendocs.alipay.com/apis/api_1/alipay.trade.refund)。针对不同异常情况,要做好各种异常提示以告知商家,有些情节严重可以考虑生成工单进行处理。
看似简单的功能,其实背后做了大量的操作。支付宝支付方式,退款金额原路返还流程大致是这样的,是不是奇怪的技术知识又增加了?
同样的微信支付方式,也差不多是这样的逻辑,这里提供一个退款接口(https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_4),供大家课外阅读。。
最后,感谢大家阅读!
#作者#
道三,微信公众号:产品大秘籍。以前写过代码,现在产品圈摸爬滚打,专注于电商领域产品设计、主要分享电商和供应链领域知识点。
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!