- 微信支付退款订单包含全场/单品优惠时的退款规则
应用场景当买家要求退款时,订单中如果包含全场/单品优惠,微信支付将在收到退款请求并且验证成功之后,按照退款规则将支付款按原路退到买家帐号上。 含优惠订单退款的计算逻辑 定义 订单金额:订单优惠前的金额 退款金额:发起退款的金额,未扣除优惠部分 实退金额:买家实际收到的退款金额,退款金额减去优惠金额的部分 1. 包含全场优惠 订单金额a(整单享受全场优惠x元),发起退款金额b,实退金额=b-b/a*x。 例如:一笔订单100元(整单享受全场优惠10元),发起退款50元时,会按照比例分摊优惠金额5元(优惠金额=50/100*10),买家收到实退金额为45元。 2. 包含单品优惠订单金额a,包含商品A m元(A享受x元单品优惠)、商品B n元(B不享受单品优惠)。发起退商品A时,买家收到实退金额=m-x,发起退商品B时,买家收到实退金额=n。 例如:一笔订单100元,买家购买商品A一个10元(商品A享受2元单品优惠),商品B90元。退商品A时,扣除掉2元的单品优惠金额,买家收到实退金额8元;退商品B时,B未享受优惠,买家收到实退金额90元。 3. 包含多个单品共享的单品优惠,退部分优惠单品 订单金额a,包含商品A i个共m元(A享受x元单品优惠)、商品B n元(B不享受单品优惠)。发起退款j(j<=i)个商品A时,买家收到实退金额=m*j/i-x*j/i,发起退款商品B时,买家收到实退金额=n。 例如:一笔订单100元,买家购买商品A 2个共10元(商品A享受2元单品优惠),商品B90元。退1个商品A时,1个商品A原价5元,扣除掉1元的优惠金额,买家收到实退金额4元;退商品B时,B未享受优惠,买家收到实退金额90元。 4. 既包含单品优惠,又包含全场优惠 订单金额a(整单享受全场优惠i元),包含商品A m元(A享受x元单品优惠)、商品B n元(不享受单品优惠)。发起退款商品A时,买家收到实退金额=m-x-(m-x)/(a-x)*i,发起退款商品B时,买家收到实退金额=n-n/(a-x)*i。 例如:一笔订单100元(整单享受全场优惠10元),买家购买商品A一个10元(A享受2元单品优惠),商品B90元。退商品A时,扣除掉2元的单品优惠金额,以及全场优惠分摊金额=(10-2)/(100-2)*10=0.82元,买家收到实退金额7.18元;退商品B时,B未享受单品优惠,扣除全场优惠分摊金额=90/(100-2)*10,买家收到实退金额80.82元。 不支持使用单品部分退款的场景 以下场景在使用单品部分退款时会报错,需检查商家系统的逻辑是否正确: 1)累计退款金额大于订单金额 2)单品累计退款金额大于单品金额 3)退款请求的单品中,如果一款单品有多条记录,会拦截报错。例如单品信息传输单品A退1个、单品A退1个、单品B退1个,会报错。传输单品A退2个、单品B退1个即可 以下场景不支持单品部分退款,建议使用整单退款: 1)2019年1月1日之前的订单不支持单品部分退款。 2)在提交订单时传入的单品信息,如果存在“goods_id相同,单品单价不同”的情况,不支持单品部分退款。 3)在提交订单时,如果订单金额小于单品累加的金额,不支持部分退款。例如订单金额100元,而单品信息中的累加金额大于100元,这个场景不支持部分退款。单品信息中的累加金额需小于等于100元。 4)单笔订单只能用同一个退款接口进行退款。例如订单使用过其他退款接口退过,则无法再使用单品部分退款的接口。 什么场景会退券当代金券仍在有效期内,且金额全部退还给用户时,会退券;如果只是部分金额退还或已超过有效期,不会给用户退券。 例1:订单100元,全场券10元,整单退时,10元的券会退还给用户;如果只退50元,则券不会退给用户 例2:订单100元,单品A2个共90元,享受减10元的单品优惠,单品B10元。当退2个单品A时,会退还10元的单品优惠;只退1个单品A时,不会退还10元的单品优惠。 预充值与免充值代金券退款规则:https://developers.weixin.qq.com/community/pay/article/doc/0006e002fbcf2033279bf018051013
2021-03-10 - 代金券抵扣如何退款
微信支付开发,代金券抵扣 了一部分,退款是 total_fee,还是 cash_fee [图片]
2020-05-29 - 微信支付优惠扣除逻辑
一、优惠券叠加使用逻辑1)不同商户创建的全场优惠(包括券和立减)默认叠加使用 假设:某笔订单可以享受全场优惠a(A商户创建,互斥使用)、全场优惠b(B商户创建,互斥使用)、全场优惠c(C商户创建,互斥使用) 则:该笔订单会同时享受 a + b + c,共3个优惠 2)同一商户创建的全场券可配置叠加使用或互斥使用,单笔订单可以核销同一商户创建的所有叠加券 + 互斥券中的一个 假设:某笔订单可以享受同一商户创建的全场券a(叠加使用)、全场券b(叠加使用)、全场券c(互斥使用)、全场券d(互斥使用) 则:该笔订单会享受 a + b + c或d中的一个,共3个优惠 3)同一商户创建的全场立减可配置叠加使用或互斥使用,单笔订单可以核销同一商户创建的所有叠加立减 + 互斥立减中的一个 假设:某笔订单可以享受同一商户创建的全场立减a(叠加使用)、全场立减b(叠加使用)、全场立减c(互斥使用)、全场立减d(互斥使用) 则:该笔订单会享受 a + b + c或d中的一个,共3个优惠 4)同一商户创建的全场立减和全场券默认叠加使用 假设:某笔订单可以享受同一商户创建的全场券a(互斥使用)、全场立减b(互斥使用) 则:该笔订单会享受 a + b,共2个优惠 5)一笔订单中,同一商品(sku维度)只能享受一个单品优惠(包括券和立减),不同的商品可以享受不同的单品优惠 假设:某笔订单可以享受单品优惠a(sku:01),单品优惠b(sku:02),单品优惠c(sku:02) 则:则该笔订单会享受 a + b或c中的一个,共2个优惠 6)若某笔订单享受了全场优惠(包括券和立减),且其中至少一个全场优惠是叠加使用的,则该笔订单才能叠加使用单品优惠 假设:某笔订单可以享受全场优惠a(叠加使用),全场优惠b(互斥使用),单品优惠c 若该笔订单享受a,则可同时享受c;若该笔订单享受b,则不可同时享受c;若该笔订单享受a+b,则可同时享受c * 指定支付方式(例如指定银行卡)的优惠需关注: 优惠是否可以叠加使用,是以制券商户号维度进行判断的,与批次指定的支付方式无关。若多个指定了支付方式的全场优惠配置了不可叠加使用,即使这几个优惠指定的支付方式不同,用户也只能享受其中一个。 举例:某笔订单可以享受全场优惠a(指定了A银行信用卡,互斥使用),全场优惠b(指定了A银行储蓄卡,互斥使用),则无论主扫或被扫,用户都只能享受a或b中的一个,且由系统指定,用户无法切换优惠。 所以,若同时存在多银行或多卡种的活动,建议将其均配置为 [可叠加使用] 。 二、优惠时的优先级当用户有多个优惠,且多个优惠不能同时使用时,优惠的使用顺序如下: 面额越高优先级越高门槛越高优先级越高过期时间越近优先级越高领券时间越近优先级越高批次ID越小优先级越高 当用户有多个可叠加使用的优惠,但订单无法满足叠加使用的条件时,优惠的使用顺序如下: 面额越高优先级越高门槛越高优先级越高当面额与门槛均相同时,则随机使用顺序,此时不判断过期时间与领取时间。 三、一笔订单最多可使用的优惠数单笔订单最多可以使用20个单品优惠,以及8个全场优惠。 当订单可用的全场券超过8张时,微信支付将筛选可用券中面额最高的8张进行优惠计算,故无法保证得出最优解。
2021-01-16