买家确认收货接口错误码自查方案

说明:

本文介绍说明关于在调用买家确认收货接口遇到的错误码相关的解决方案参考说明。

接口信息:

接口名称:买家确认收货接口

接口 API:
youzan.trade.confirm.receive.update.3.0.1
youzan.trade.confirm.receive.update.3.0.0

接口链接:
https://doc.youzanyun.com/doc#/content/API/1-316/detail/api/0/515
https://doc.youzanyun.com/doc#/content/API/1-316/detail/api/0/33

接口说明:
买家确认收货接口,调用该接口后,订单流转到已完成。
不允许调用该接口的情况:
1. 订单状态不是已发货。 2. 订单含虚拟商品和知识付费的商品 3. 订单是采购单 4. 订单处于维权中

代码示例:(以 3.0.0 版本为例)

YouzanTradeConfirmReceiveUpdateParams youzanTradeConfirmReceiveUpdateParams = new YouzanTradeConfirmReceiveUpdateParams();
        youzanTradeConfirmReceiveUpdateParams.setBuyerId(865115939L);
        youzanTradeConfirmReceiveUpdateParams.setTid("E20190712183638080300053");
        youzanTradeConfirmReceiveUpdate.setAPIParams(youzanTradeConfirmReceiveUpdateParams);
        try {
            YouzanTradeConfirmReceiveUpdateResult result = yzClient.invoke(youzanTradeConfirmReceiveUpdate, token, YouzanTradeConfirmReceiveUpdateResult.class);
            System.out.println(JSON.toJSON(result));
        } catch (SDKException n) {
            n.printStackTrace();
        }
}

错误码自查方案:

{"code":102570014,"success":false,"message":"该订单已经确认收货了"}

解决方法:传入的该笔订单号,已确认收货无需再进行买家确认收货的操作

{"code":102570015,"success":false,"message":"订单只有在发货后才允许确认收货"}

解决方法:该报错是由于传入的该笔订单还未发货,因此无法进行买家确认收货的操作

{"code":102570008,"success":false,"message":"订单处于退款申请中, 不允许发货相关操作"}

解决方法:该报错是由于传入的该笔订单处于维权退款申请状态,因此无法进行买家确认收货的操作

{"code":0,"success":false,"message":"非本人订单不能操作"}

解决方法:该报错是由于传入的该笔订单传入的买家 buyer_id(即 account_id) 不属于该订单,需要确认该 buyer_id 是否正确

Q: 如何获取订单的 buyer_id?–适用于youzan.trade.confirm.receive.update.3.0.0接口 A: 可通过订单搜索接口或订单详情接口获取
接口文档链接:https://doc.youzanyun.com/doc#/content/API/1-305/detail/api/0/157

Q: 如何获取订单中的 yz_open_id?—适用于 youzan.trade.confirm.receive.update.3.0.1 接口
A: 可通过接口 youzan.user.openid.get.1.0.0 获取
接口文档链接:https://doc.youzanyun.com/doc#/content/API/1-308/detail/api/0/323