alibaba.xlife.onsite.trade.cancel (撤销订单)

在收银过程中,收银员点击POS上的“撤销订单”按钮时,商户POS调用此接口撤销交易。 如果消费者尚未支付或支付失败,喵街会将此订单关闭;如果消费者支付成功,喵街会自动发起全额退款,将支付的资金退还给消费者。 撤销只支持24小时内的交易,超过24小时要退款可以调用申请退款接口,如果需要明确订单状态可以调用查询订单接口。

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
out_trade_no String 可选 20150320010101001
  • 最大长度:64
  • 商户订单号。与喵街订单号二者至少要填写一个,如果二者均有,默认使用喵街订单号
    trade_no String 可选 2013112011001004330000121536
  • 最大长度:64
  • 喵街交易凭证号。与商户订单号二者至少要填写一个,如果二者均有,默认使用喵街订单号

    响应参数

    名称 类型 示例值 描述
    onsite_trade_cancel_response OnsiteTradeCancelResponse onsiteTradeCancelResponse 取消订单响应信息
    • └ action
    • String
    • close
    • 撤销所执行的动作。取值为close:关闭交易,无退款;refund:退款。
    • └ out_trade_no
    • String
    • 6823789339978248
    • 原支付请求的商户订单号。必然返回
    • └ retry_flag
    • String
    • N
    • 是否可重试标志。取值:Y,N。必然返回
    • └ trade_no
    • String
    • 2013112011001004330000121536
    • 喵街交易凭证号。必然返回
    • └ fund_change
    • String
    • N
    • 本次撤销请求是否发生资金变动。必然返回。本字段标识本次退款请求是否发生了资金变动(action为refund,产生退款): Y——发生资金变动; N——未发生资金变动
    • └ refund_store_marketing_fee
    • Number
    • 5000
    • 退还的商户营销成本的总金额。如果action为refund,产生退款,返回商户营销成本被退还的部分,单位为人民币(分)。无实际资金流动。此参数只用于记账,不涉及到商户资金变化
    • └ refund_mj_subsidy_fee
    • Number
    • 5000
    • 退还的喵街补贴的总金额。如果action为refund,产生退款,返回喵街补贴中被退还的部分,单位为人民币(分)。退还到喵街的资金账户。如果补贴尚未打款,则此参数只用于记账,不涉及到商户资金变化
    • └ refund_buy_promotion_fee
    • Number
    • 8888
    • 退还的消费者购买优惠的总金额。如果action为refund,产生退款,返回消费者在支付时使用优惠券中被退还的购券金额的部分,单位为人民币(分)。退还到喵街的资金账户。如果购券金额尚未打款,则此参数只用于记账,不涉及到商户资金变化
    • └ refund_fund_fee
    • Number
    • 70000
    • 退还的消费者实付总金额。如果action为refund,产生退款,返回消费者在支付时实付金额中被退还的部分,单位为人民币(分)。退还到消费者的资金账户
    • └ send_back_fee
    • Number
    • 83888
    • 实际退款金额。如果action为refund,产生退款,返回实际从商户账户退款的总金额,单位为人民币(分)。从商户资金账户上扣除
    • └ refund_fee
    • Number
    • 88888
    • 总退款金额。如果action为refund,产生退款,返回总退款金额,单位为人民币(分)。和请求支付参数中的total_amount相同。 refund_fee = refund_fund_fee + refund_buy_promotion_fee + refund_mj_subsidy_fee + refund_store_markting_fee
    • └ gmt_refund_pay
    • String
    • 2015-11-27 15:45:57
    • 退款时间。如果action为refund,产生退款,返回退款时间,格式为 yyyy-MM-dd HH:mm:ss。由于一次申请退款可以涉及多笔退款,因此该退款时间代表最后一笔退款的时间

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    AlibabaXlifeOnsiteTradeCancelRequest req = new AlibabaXlifeOnsiteTradeCancelRequest();
    req.setOutTradeNo("20150320010101001");
    req.setTradeNo("2013112011001004330000121536");
    AlibabaXlifeOnsiteTradeCancelResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <alibaba_xlife_onsite_trade_cancel_response>
        <onsite_trade_cancel_response>
            <action>close</action>
            <out_trade_no>6823789339978248</out_trade_no>
            <retry_flag>N</retry_flag>
            <trade_no>2013112011001004330000121536</trade_no>
            <fund_change>N</fund_change>
            <refund_store_marketing_fee>5000</refund_store_marketing_fee>
            <refund_mj_subsidy_fee>5000</refund_mj_subsidy_fee>
            <refund_buy_promotion_fee>8888</refund_buy_promotion_fee>
            <refund_fund_fee>70000</refund_fund_fee>
            <send_back_fee>83888</send_back_fee>
            <refund_fee>88888</refund_fee>
            <gmt_refund_pay>2015-11-27 15:45:57</gmt_refund_pay>
        </onsite_trade_cancel_response>
    </alibaba_xlife_onsite_trade_cancel_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.INVALID_PARAMETER 无效参数 检查参数是否正确
    isp.QUERY_TRADE_FAIL 查询交易失败 ISV需间隔2秒重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
    isp.TRADE_ORDER_NOT_FOUND 交易订单不存在 需检查入参的订单号是否存在
    isp.INVALID_OPERATION 无效的交易操作 订单已完成或关闭状态,不允许执行此操作
    isp.GET_TRADE_LOCK_FAIL 获取交易锁失败 ISV需间隔2秒重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
    isp.CANCEL_ALIPAY_ORDER_FAIL 取消交易失败 ISV需间隔2秒重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
    isp.UPDATE_TRADE_FAIL 更新交易失败 ISV需间隔2秒重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。
    isp.SYSTEM_ERROR 系统异常 ISV需间隔2秒重试,最多重试5次。如果还是有问题,则需将该问题提交到喵街技术支持人员解决。

    API工具

    如何获得此API

    FAQ

    返回
    顶部