qimen.alibaba.uni.trade.refund (全域收单交易退款接口)

全域收单下单接口,可通过该接口对已支付的订单进行退款退货操作,支持退货不退款,退款不退货,退款退货

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
storeId String 必须 100004 门店ID
tradeNo String 可选 20180111000001595051 零售核心订单号,和外部订单号不能同时为空
outTradeNo String 可选 OT39472389645 业务方自有订单号,和零售核心订单号不能同时为空
outRefundNo String 必须 RF253465346 业务方自有退款单号,幂等依据
refundAmount Number 必须 100 退款金额, 单位:分(人民币)。
refundGoodsList RcGoodsParam [] 可选
  • 最大列表长度:100
  • 退货列表,列表元素格式为 商品标识:商品数量。如果为NUll 或者 EMTPY表示只退款不退货
    • └ goodsId
    • String
    • 可选
    • 69534523423
    • 商品标识
    • └ quantity
    • String
    • 可选
    • 1
    • 商品数量,支持浮点
    • └ price
    • Number
    • 可选
    • 13850
    • 商品价格,单位:分(人民币)
    • └ idType
    • String
    • 可选
    • CUSTOM
    • 商品标识类型。UNIQUE:唯一码;ITEM_SKU:sku模式;CUSTOM商家自有编码
    • └ guider
    • String
    • 可选
    • 9527
    • 导购员编号
    • └ outSubTradeNo
    • String
    • 可选
    • OTS5435643
    • 商品所属外部子单号
    customFundBillList RcCustomFundBill [] 可选
  • 最大列表长度:50
  • 退款资金明细
    • └ fundBillId
    • String
    • 可选
    • 38923642374
    • 资金渠道ID,比如支付宝单号,微信单号,代金券编号,优惠券编号
    • └ fundBillName
    • String
    • 可选
    • 满100减10
    • 资金渠道名称,比如支付宝钱包,微信支付,xxx代金券,xxx优惠券
    • └ amount
    • Number
    • 可选
    • 1000
    • 金额, 单位:分(人民币)
    storeIdType String 必须 RPLUS 门店Id类型,RPLUS:零售+门店ID; PLACE:商户中心门店ID; CUSTOM:自有门店ID,须在商户中心有映射关系

    响应参数

    名称 类型 示例值 描述
    success Boolean true 业务成功标识 true|false
    errCode String 601 错误码
    errMsg String 无效参数 错误描述
    data RcTradeRefundDTO 业务数据
    • └ refundNo
    • String
    • 45346532
    • 零售核心退款单号

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    QimenCloudClient client = new DefaultQimenCloudClient(url, appkey, secret);
    AlibabaUniTradeRefundRequest req = new AlibabaUniTradeRefundRequest();
    req.setStoreId("100004");
    req.setTradeNo("20180111000001595051");
    req.setOutTradeNo("OT39472389645");
    req.setOutRefundNo("RF253465346");
    req.setRefundAmount(100L);
    List<AlibabaUniTradeRefundRequest.RcGoodsParam> list2 = new ArrayList<AlibabaUniTradeRefundRequest.RcGoodsParam>();
    AlibabaUniTradeRefundRequest.RcGoodsParam obj3 = new AlibabaUniTradeRefundRequest.RcGoodsParam();
    list2.add(obj3);
    obj3.setGoodsId("69534523423");
    obj3.setQuantity("1");
    obj3.setPrice(13850L);
    obj3.setIdType("CUSTOM");
    obj3.setGuider("9527");
    obj3.setOutSubTradeNo("OTS5435643");
    req.setRefundGoodsList(list2);
    List<AlibabaUniTradeRefundRequest.RcCustomFundBill> list5 = new ArrayList<AlibabaUniTradeRefundRequest.RcCustomFundBill>();
    AlibabaUniTradeRefundRequest.RcCustomFundBill obj6 = new AlibabaUniTradeRefundRequest.RcCustomFundBill();
    list5.add(obj6);
    obj6.setFundBillId("38923642374");
    obj6.setFundBillName("满100减10");
    obj6.setAmount(1000L);
    req.setCustomFundBillList(list5);
    req.setStoreIdType("RPLUS");
    AlibabaUniTradeRefundResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <success>true</success>
    <errCode>601</errCode>
    <errMsg>无效参数</errMsg>
    <data>
        <refundNo>45346532</refundNo>
    </data>
    

    异常示例

    • XML示例
    • JSON示例
    <error_response>
        <code>50</code>
        <msg>Remote service error</msg>
        <sub_code>isv.invalid-parameter</sub_code>
        <sub_msg>非法参数</sub_msg>
    </error_response>

    错误码解释

    错误码 错误描述 解决方案

    API工具

    如何获得此API

    FAQ

    返回
    顶部