alibaba.xlife.onsite.trade.refund (申请退款)

当交易发生之后一段时间内,由于消费者或者商户的原因需退款,商户可通过退款接口将支付款退还给消费者,喵街将在收到退款请求并验证成功后,按退款规则将支付款按原路退到消费者账号上。 1. 交易超过可退款时间(签约时设置的可退款时间)的订单无法进行退款。 2. 只支持全额退款。

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
onsite_trade_refund_request OnsiteTradeRefundRequest 可选 交易退款请求
  • └ trade_no
  • String
  • 可选
  • 2013112011001004330000121536
  • 喵街订单号。与商户订单号二者至少要填写一个,如果二者均有,默认使用喵街订单号
  • └ out_trade_no
  • String
  • 可选
  • 2013112011001004330000121536
  • 商户订单号。与喵街订单号二者至少要填写一个,如果二者均有,默认使用喵街订单号
  • └ refund_amount
  • Number
  • 必须
  • 88888
  • 退款金额。需要退款的金额,该金额不能大于订单金额(同一笔交易多次退款时累计退款金额不能超过订单金额),单位为分
  • └ out_request_no
  • String
  • 必须
  • HZ01RF001
  • 商户退款请求号。标识一次退款请求,同一笔交易多次退款需要保证唯一
  • └ refund_reason
  • String
  • 必须
  • 正常退款
  • 退款的原因说明
  • └ store_id_type
  • String
  • 必须
  • miaojie
  • 商户门店编号的类型。取值:miaojie和out。如果取值为miaojie,则store_id的取值为商户门店在喵街中的编号;如果取值为out,则store_id的取值为商户自己的编号
  • └ store_id
  • String
  • 必须
  • 12345678
  • 商户门店编号。可以是喵街内的商户门店ID,也可以是商户系统内自己的门店ID,其取值的含义由store_id_type定义
  • └ terminal_id
  • String
  • 可选
  • NJ_T_001
  • 商户机具终端编号
  • └ operator_id
  • String
  • 可选
  • 12345678
  • 商户操作员编号
  • └ extend_params
  • String
  • 可选
  • {"ADDRESS":"123"}
  • 业务扩展参数,json格式

响应参数

名称 类型 示例值 描述
onsite_trade_refund_response OnsiteTradeRefundResponse onsiteTradeRefundResponse 交易退款响应
  • └ trade_no
  • String
  • 2015120100222
  • 喵街交易凭证号。必然返回
  • └ out_trade_no
  • String
  • 10001
  • 原支付请求的商户订单号。必然返回
  • └ buyer_id
  • Number
  • 10001
  • 消费者在喵街的用户ID。必然返回
  • └ buyer_nick
  • String
  • 159****5620
  • 消费者在喵街的昵称。将用*号屏蔽部分内容。必然返回
  • └ fund_change
  • String
  • Y
  • 本次退款请求是否发生资金变动。对同一笔退款请求(商户退款请求单号相同),如果已退款成功,将直接返回上一次的退款结果。本字段标识本次退款请求是否发生了资金变动: Y——发生资金变动; N——未发生资金变动。必然返回
  • └ refund_fee
  • Number
  • 10000
  • 总退款金额。单位为人民币(分)。和请求参数中的refund_amount相同。 refund_fee = refund_fund_fee + refund_buy_promotion_fee + refund_mj_subsidy_fee + refund_store_marketing_fee
  • └ send_back_fee
  • Number
  • 200
  • 实际从商户账户退款的总金额。单位为人民币(分)。从商户资金账户上扣除
  • └ refund_fund_fee
  • Number
  • 2000
  • 退还的消费者实付总金额。消费者在支付时实付金额中被退还的部分,单位为人民币(分)。退还到消费者的资金账户
  • └ refund_buy_promotion_fee
  • Number
  • 10
  • 退还的消费者购买优惠的总金额。消费者在支付时使用优惠券中被退还的购券金额的部分,单位为人民币(分)。退还到喵街的资金账户。如果购券金额尚未打款,则此参数只用于记账,不涉及到商户资金变化
  • └ refund_mj_subsidy_fee
  • Number
  • 10
  • 退还的喵街补贴的总金额。喵街补贴中被退还的部分,单位为人民币(分)。退还到喵街的资金账户。如果补贴尚未打款,则此参数只用于记账,不涉及到商户资金变化
  • └ refund_store_marketing_fee
  • Number
  • 10
  • 退还的商户营销成本的总金额。商户营销成本被退还的部分,单位为人民币(分)。无实际资金流动。此参数只用于记账,不涉及到商户资金变化
  • └ gmt_refund_pay
  • Date
  • 100
  • 退款时间。格式为 yyyy-MM-dd HH:mm:ss。由于一次申请退款可以涉及多笔退款,因此该退款时间代表最后一笔退款的时间
  • └ store_name
  • String
  • 银泰城西店
  • 商户门店名称。必然返回

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
AlibabaXlifeOnsiteTradeRefundRequest req = new AlibabaXlifeOnsiteTradeRefundRequest();
AlibabaXlifeOnsiteTradeRefundRequest.OnsiteTradeRefundRequest obj1 = new AlibabaXlifeOnsiteTradeRefundRequest.OnsiteTradeRefundRequest();
obj1.setTradeNo("2013112011001004330000121536");
obj1.setOutTradeNo("2013112011001004330000121536");
obj1.setRefundAmount(88888L);
obj1.setOutRequestNo("HZ01RF001");
obj1.setRefundReason("正常退款");
obj1.setStoreIdType("miaojie");
obj1.setStoreId("12345678");
obj1.setTerminalId("NJ_T_001");
obj1.setOperatorId("12345678");
obj1.setExtendParams("{\"ADDRESS\":\"123\"}");
req.setOnsiteTradeRefundRequest(obj1);
AlibabaXlifeOnsiteTradeRefundResponse rsp = client.execute(req, sessionKey);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<alibaba_xlife_onsite_trade_refund_response>
    <onsite_trade_refund_response>
        <trade_no>2015120100222</trade_no>
        <out_trade_no>10001</out_trade_no>
        <buyer_id>10001</buyer_id>
        <buyer_nick>159****5620</buyer_nick>
        <fund_change>Y</fund_change>
        <refund_fee>10000</refund_fee>
        <send_back_fee>200</send_back_fee>
        <refund_fund_fee>2000</refund_fund_fee>
        <refund_buy_promotion_fee>10</refund_buy_promotion_fee>
        <refund_mj_subsidy_fee>10</refund_mj_subsidy_fee>
        <refund_store_marketing_fee>10</refund_store_marketing_fee>
        <gmt_refund_pay>100</gmt_refund_pay>
        <store_name>银泰城西店</store_name>
    </onsite_trade_refund_response>
</alibaba_xlife_onsite_trade_refund_response>

异常示例

  • 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>

错误码解释

错误码 错误描述 解决方案
isv.REFUND_INVALID_PARAMS 退款操作,传入无效参数 请与API核对请求参数内容
isv.REFUND_AMOUNT_INVALID 退款操作,传入退款金额不等于订单消费总额 在退款金额中输入订单总金额
isp.REFUND_NOT_ALLOWED_ERROR 订单状态不允许退款 请检查订单的状态
isp.REFUND_CREATE_FAILED 退款交易创建操作失败 请稍后再试
isp.EXISTS_REFUNDING_ORDER 存在在途订单 请稍后再尝试退款
isv.REFUND_FAILED_STORE_NOMATCH 退款操作失败,退款的门店与订单的门店不一致 请重新检查退款的订单的门店信息

API工具

如何获得此API

FAQ

返回
顶部