有赞新零售社区

发帖
API使用问题»希望能够统一销售和退单时的商品实际金额

[API调用-商品/交易] 希望能够统一销售和退单时的商品实际金额

雀榕轩 2022-08-24 2336 浏览 3 评论 | 只看楼主 [打印]
应用名称:「JLY」
应用AppId:「44352」
ClientId:「bf0160ab059510a9a7」

接口一
API名称:查询单笔交易详情接口
文档地址:https://doc.youzanyun.com/detail/API/0/3400
trace_id:yz7-0a34f81c-1661304672841-580496

接口二
API名称:单个售后单详情查询接口
文档地址:https://doc.youzanyun.com/detail/API/0/135
trace_id:yz7-0a34f81c-1661305737018-567723

接口三
API名称:查询销售退款单
文档地址:https://doc.youzanyun.com/detail/API/0/228
trace_id:yz7-0ad26a58-1661306183727-124268

问题描述:
希望能在发生退单(退款或退货)时,能得到和销售时相应的商品均摊金额。比如一个订单含两种商品(一种1件,另一种3件),订单详情接口能拿到不含邮费的均摊金额。如果3件的那种仅退一件,这个时候接口二能拿到这个商品退款的金额(不含邮费),但是如果再退订单剩下商品时,接口二中拿到的商品退款金额就包含了邮费。接口三也拿不到商品退款的均摊金额。这样商品时算的商品实际金额和退单时的实际金额就可能不一致了。
下面以具体某个订单为例:
第一步,对于订单E20220731172957076100019,首先用接口一查询交易详情,得到的交易明细【full_order_info】【orders】里面,两种商品最终均摊价payment分别是35.18和0.72。支付信息【full_order_info】【pay_info】中邮费【post_fee】是2.9,实付金额【real_payment】是38.8。也就是说商品交易详情接口中拿到的均摊金额是不含邮费的。
第二步,对于这个订单的售后单202207311848320020400761,调用接口二查询售后详情,得到的退款item列表【refund_order_item】中两种商品的退款金额【refund_fee】(单位:分)是3518和362,也就是35.18和3.62,这里明显是把邮费算到了第二个商品上。
第三步,仍旧对该订单的售后单202207311848320020400761,调用接口三查询退款单详情,得到的退款明细【
refund_items】中拿到的金额是实付金额【real_sales_amount】分别是35.18和0.72,如果找一个买多件退1件的订单,就会发现这个也不是实际退款均摊到商品上的金额,而是对应订单详情中购买时商品的均摊金额payment。


用手机打开
收藏 ··· 回复
    雀榕轩 黄金   2022-08-24 | 只看该作者
    再补充一个问题2,这边查另一个订单E20220820191702068100065(邮费0.5元,总实付10.3)的订单详情trace_id是yz7-0ad26a54-1661309320323-364877。售后单202208202102543952260681查接口二的trace_id是yz7-0a34f814-1661309918800-917591,明细中商品的refund_fee是683(单位分),退款总额是7元,那差额这部分算什么呢?如果是运费,那么refund_fee与接口的字段说明【退款金额 单位:分;金额包含邮费】又对不上了。

    回答时受累注明回答的是问题1还是问题2。

      烟光.   黄金   2022-08-25 | 只看该作者
      您好,问题1. 您以https://doc.youzanyun.com/detail/API/0/3400这个接口的为准问题2.需要调查一下
      • 雀榕轩 2022-08-25
        您好,关于问题1,https://doc.youzanyun.com/detail/API/0/3400这个是订单详情接口,似乎并没有具体某个售后单中每个商品的退货金额。不知这样解释是否能更清楚,下单时会将订单信息推送到另一个系统A,其中有说明每个商品的金额和单价等。退单时也需要向系统A推送相应的信息,但是目前下单时推过去的是不带运费的商品均摊金额,退单时找不到合适的接口返回数据来做推送用,接口二可能包含运费(这样就与一开始推到系统A的商品金额对不上了),接口三又拿不到当前退单对应摊到商品上的金额(只能拿到销售时这个商品的总销售金额,若遇到同一商品买4退1就拿不到正确金额)。所以想要解决退单推送所需要的数据问题
      • 烟光. 回复 雀榕轩 2022-08-26
        https://doc.youzanyun.com/detail/API/0/3400,中的退款交易明细oids这个字段中会有
        订单交易明细id,orders【交易明细结】中可以找到对应的,这样退货退款您就可以知道退的那个商品,您把明细payment传回去就可以了
      • 雀榕轩 回复 烟光. 2022-08-26
        您还是没有明白我说的意思,打个比方,我这自己的系统里记着苹果单价2元,梨单价3元。某人下单买两个苹果,一个梨,外加配送费1.5元。那么用https://doc.youzanyun.com/detail/API/0/3400获取交易详情接口能拿到的是苹果2个共4元,梨1个共3元,运费1.5,实付金额8.5元。这时销售单记到自己系统里没问题,此时不算运费,系统中记得实际商品销售金额是苹果+梨共7元。

        第一种假设,整单退,这时用接口二https://doc.youzanyun.com/detail/API/0/135能拿到的商品退款信息是 苹果退款金额4元,梨退款金额4.5元(运费1.5元被摊在了梨上),这时候我向自己系统里记退单,就发现梨的退款单价(退款金额4.5/数量1)高于系统记录的售价,不正常。而且退单中商品金额会计算成接口拿到的4+4.5=8.5,也高于之前的商品实际销售金额。此时似乎接口三https://doc.youzanyun.com/detail/API/0/228的明细中金额能对上,因为这是实际销售金额。

        第二种假设,部分退款(苹果2退1),这时用接口二https://doc.youzanyun.com/detail/API/0/135能正常拿到苹果退款两元,接口三https://doc.youzanyun.com/detail/API/0/228则暂时无用。

        其实希望的是不管怎么退,能给一个方法明确的找到对应的商品摊的金额。如果订单接口摊到商品上的算运费,那退单也算运费,如果订单接口摊到商品上的不算运费,那退单也希望能给不带运费的实际商品退款金额。这样我这边系统中记录的售卖和退单的金额才能对上。
      • 烟光. 回复 雀榕轩 2022-08-26
        您好,目前有赞这边部分退,退邮费时是退最后一个商品时退。您整单退的话其实把https://doc.youzanyun.com/detail/API/0/3400里面销售商品取到值传回去就可以了。
        而部分退您可以https://doc.youzanyun.com/detail/API/0/135用这个查一下,您只要判断一下当最后一个商品退完将邮费退回去就可以了,其他的时候不传邮费就可以了

      雀榕轩 黄金   2022-08-26 | 只看该作者
      请问补充问题2有调查结果了么
      • 烟光. 2022-08-26
        您好,您是仅退款,我调查了一下,差额应该是退在运费上了
      • 雀榕轩 回复 烟光. 2022-08-26
        如果是运费的话有两个问题,1、您可以看下我在2楼帖子上说明的,接口拿到的数据中心运费项显示的是0,这个不一致。2、和前一个回复的问题有关,那这样可能部分退款,还没退到最后一个商品时也有运费,这样判断商品的实际退款金额(不含运费)的逻辑太复杂了吧,首先得判断是不是整单退,还得判断里面有没有运费,这个咋判断呢?不能接口直接给的时候分清楚商品均摊金额和运费么?像销售单那样
      • 烟光. 回复 雀榕轩 2022-08-26
        1.您这个是仅退款,不能按照哪个商品来计算的。上面接口二应该是大致算了哪个商品
        2.目前接口只能做到这样,您发的接口三里面就有每个商品实付payment,然后您判断下如果部分退款,退到最后一件,就把邮费退回去。用已经退款的和所有商品总数一比较就可以算出来是否到已经全部退了
      • 雀榕轩 回复 烟光. 2022-08-27
        如果有赞的逻辑是退到最后一件的时候把运费加上去,那为什么不能和销售一样,等退到最后一件时才在那个售后单中设置运费值,其他时候都只是商品实际金额呢
      • 烟光. 回复 雀榕轩 2022-08-27
        正常来说是可以这样的,但是目前没有这样的接口,如果您需要的话可以为您提需求,但是排期时间会很长的

      1跳至
      您需要登录后才可以回帖 登录 | 立即注册

      本版积分规则

      复制链接
      新浪微博
      QQ空间
      微信扫码
      • 回复

      • 评分

      客服工作时间是9:00-18:00,客服妹子当前不在线,若不能及时回复请谅解。试试右上角的搜索吧,论坛有丰富的经验贴、公告贴,相信一定能够帮到您~

      复制成功