9月12日微信支付退款规则升级剖析及微信账单说明
JeffChen移动支付网2016/9/13 14:13:33

  一、微信支付退款规则升级剖析

  微信公告:https://pay.weixin.qq.com/index.php/public/cms/content_detail?lang=zh&id=21803

  近日,微信支付平台上挂出了公告,通知自9月12日期,退款规则将升级。

  涉及的升级有三点,其中有第二点:

  (2)退款发起时,若账户资金不足,无法退款的,系统将拒绝受理;

  这个是什么意思?对我们有什么影响?

  退款的受理模式

  从微信支付新版接口发布以来,微信支付的退款业务,一直使用的是受理模式。这个受理模式的含义为,退款请求是先受理,再进行实际退款,分为两步。也就是说当商户的当前交易流水不足以退款的时候,退款请求依然可以成功受理,然后在交易流水足够的时候才发生实际退款。

  这个设计的优点有:

  1、收银员可以直接使用退款接口,不需要关心业务流水和重试规则。

  2、退款接口可以快速返回退款承诺。

  但是随着业务发展,缺点也很明显:

  1、因为不知道什么时候会实际退款,对账单里何时出现这个退款请求很难判断,精细对账需要更多操作。

  2、退款后流水永远不够的退款单日益增加,但是重试必须无限期重试,微信支付侧的资源不断消耗。

  3、极限异常情况需要微信支付客服人工参与处理。

  所以9月12日这个公告也是预期之中的改变。从9月12日,流水不足不再重试,就相当于是非受理模式:一旦请求退款成功,立刻发生退款。

  这样的话优点有:

  1、立刻退款,对账清晰。

  2、剥离业务逻辑和接口功能,使退款接口能力更单纯。

  缺点则变成了:

  1、收银员直接使用退款接口会有新困难:遇到流水不足的错误收银员无法处理,即使后来流水充足了收银员也不知道。

  微信支付的新工具

  针对这个变化,微信支付也提供了一些新的工具来解决流水不足的问题。

  新资金流

  首先是新资金流,新资金流是目前正在逐步开放的一个功能,商户可以由原资金流升级到新资金流。详见https://kf.qq.com/faq/140225MveaUz160412NRjMF7.html

  新资金流里,可以自由设置结算时保留多少钱,用于其后的退款功能。减少退款时流水不足发生的可能性。

  旧资金流

  针对尚未收到新资金流升级通知的商户,退款接口也会增加一个新的参数,用于从可用余额里退款。可用余额即商户平台上需要充值的一个账户余额。详见http://kf.qq.com/faq/140225MveaUz141215MFv6Vb.html

  之前商户平台上就已经可以操作进行可用余额退款:https://kf.qq.com/faq/140225MveaUz150107JR7bEN.html

  商户侧的应对

  面对这个变更,商户的开发可以这样做:

  关注文档变更,处理新错误码 新增的交易流水不足将会有新的错误码。

  自行开发受理模式,自动重试退款请求 也就是把收银员的退款请求先记录下来,在服务器端判断退款逻辑。

  培训收银员,遇到错误的时候的处理方法,例如通知主管进行充值退款

  其他注意事项

  此次退款接口变更,并不影响撤销订单接口。撤销订单的退款遇到流水不足依然是会自动重试。

  二、微信支付账单说明

  针对微信支付的对账单格式,这里进行一下详细的说明。

  对账单表头和交易订单的关系

  交易时间

  对应查询订单接口time_end

  公众账号ID

  appid

  商户号

  mch_id

  子商户号

  sub_mch_id

  设备号

  对应下单接口device_info

  微信订单号

  对应查询订单接口transaction_id

  商户订单号

  out_trade_no

  用户标识

  openid, 相对于appid的用户唯一标识

  交易类型

  对应下单接口trade_type

  交易类型见 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2

  交易状态

  SUCCESS: 对应收入

  REFUND: 对应支出-退款

  REVOKED: 对应支出-撤销

  这里有几点注意:

  1、账单的交易状态,和订单的交易状态没有关系,发生过退款的订单,在这里依然有一条success

  2、交易状态不会变更

  3、只有发生过支付(进账)的订单,在撤销后才会发生支出并出现在对账单里。

  付款银行

  bank_type

  见https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_2

  货币种类

  fee_type

  总金额

  total_fee

  企业红包金额

  coupon_fee

  微信退款单号

  对应查询退款接口refund_id

  商户退款单号

  对应退款/查询退款的out_refund_no

  退款金额

  对应单笔退款时的refund_fee

  企业红包退款金额

  对应coupon_refund_fee

  退款类型

  refund_channel

  退款状态

  PROCESSING: 已经从账面扣款

  SUCCESS: 已经从账面扣款,并且出对账单时这个退款已经到账

  商品名称

  body

  商户数据包

  attach

  手续费

  精确到小数点后2位,四舍五入。末尾填充3个0。

  费率

  商户号对应的费率,同一个商户号一致。

  文件格式

  编码

  使用接口下载的时候,是utf8编码

  在商户平台下载的时候,根据选择的office版本不同,编码不同

  文件名格式

  接口下载的是字符串,无文件名

本文为作者授权发布,不代表移动支付网立场,转载请注明作者及来源,未按照规范转载者,移动支付网保留追究相应责任的权利。

展开全文
相关阅读
资讯查询取消