文档中心 > API类目 > 天猫奢品独立市场

tmall.luxury.stage.edi.alipay.trade.refund.create (天猫奢品独立市场EDI支付宝支付退款申请)

天猫奢品独立市场EDI支付宝支付退款申请

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
edi_alipay_trade_refund_request EdiAlipayTradeRefundRequest 可选 退款请求
  • └ out_request_no
  • String
  • 可选
  • HZ01RF001
  • 退款请求号。 标识一次退款请求,需要保证在交易号下唯一,如需部分退款,则此参数必传。 注:针对同一次退款请求,如果调用接口失败或异常了,重试时需要保证退款请求号不能变更,防止该笔交易重复退款。支付宝会保证同样的退款请求号多次请求只会退一次。
  • └ trade_no
  • String
  • 可选
  • 20150320010101001
  • 支付宝交易号。 和商户订单号 out_trade_no 不能同时为空。
  • └ refund_reason
  • String
  • 可选
  • 正常退款
  • 退款原因说明。 商家自定义,将在会在商户和用户的pc退款账单详情中展示
  • └ query_options
  • String []
  • 可选
  • refund_detail_item_list
  • 查询选项。 商户通过上送该参数来定制同步需要额外返回的信息字段,数组格式。支持:refund_detail_item_list:退款使用的资金渠道;deposit_back_info:触发银行卡冲退信息通知;
  • └ out_trade_no
  • String
  • 可选
  • 20150320010101001
  • 商户订单号。 订单支付时传入的商户订单号,商家自定义且保证商家系统中唯一。与支付宝交易号 trade_no 不能同时为空。
  • refund_royalty_parameters
  • RefundRoyaltyParameterDTO []
  • 可选
  • 退分账明细信息
  • 退分账明细信息。 注: 1.当面付且非直付通模式无需传入退分账明细,系统自动按退款金额与订单金额的比率,从收款方和分账收入方退款,不支持指定退款金额与退款方。 2.直付通模式,电脑网站支付,手机 APP 支付,手机网站支付产品,须在退款请求中明确是否退分账,从哪个分账收入方退,退多少分账金额;如不明确,默认从收款方退款,收款方余额不足退款失败。不支持系统按比率退款。
  • └ amount
  • String
  • 可选
  • 0.1
  • 分账的金额,单位为元
  • └ royalty_scene
  • String
  • 可选
  • 达人佣金
  • 可选值:达人佣金、平台服务费、技术服务费、其他
  • └ trans_out_type
  • String
  • 可选
  • userId
  • 支出方账户类型。userId表示是支付宝账号对应的支付宝唯一用户号;loginName表示是支付宝登录号; 泛金融类商户分账时,该字段不要上送。
  • └ royalty_type
  • String
  • 可选
  • transfer
  • 分账类型. 普通分账为:transfer; 补差为:replenish; 为空默认为分账transfer;
  • └ trans_in
  • String
  • 可选
  • 2088101126765726
  • 收入方账户。如果收入方账户类型为userId,本参数为收入方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字;如果收入方类型为cardAliasNo,本参数为收入方在支付宝绑定的卡编号;如果收入方类型为loginName,本参数为收入方的支付宝登录号;
  • └ trans_out
  • String
  • 可选
  • 2088101126765726
  • 支出方账户。如果支出方账户类型为userId,本参数为支出方的支付宝账号对应的支付宝唯一用户号,以2088开头的纯16位数字;如果支出方类型为loginName,本参数为支出方的支付宝登录号。 泛金融类商户分账时,该字段不要上送。
  • └ trans_in_type
  • String
  • 可选
  • userId
  • 收入方账户类型。userId表示是支付宝账号对应的支付宝唯一用户号;cardAliasNo表示是卡编号;loginName表示是支付宝登录号;
  • └ trans_in_name
  • String
  • 可选
  • 张三
  • 分账收款方姓名,上送则进行姓名与支付宝账号的一致性校验,校验不一致则分账失败。不上送则不进行姓名校验
  • └ desc
  • String
  • 可选
  • 分账描述
  • 分账给2088101126708402
  • └ refund_amount
  • String
  • 必须
  • 200.12
  • 退款金额。 需要退款的金额,该金额不能大于订单金额,单位为元,支持两位小数。 注:如果正向交易使用了营销,该退款金额包含营销金额,支付宝会按业务规则分配营销和买家自有资金分别退多少,默认优先退买家的自有资金。如交易总金额100元,用户支付时使用了80元自有资金和20元无资金流的营销券,商家实际收款80元。如果首次请求退款60元,则60元全部从商家收款资金扣除退回给用户自有资产;如果再请求退款40元,则从商家收款资金扣除20元退回用户资产以及把20元的营销券退回给用户(券是否可再使用取决于券的规则配置)。
  • └ notify_url
  • String
  • 可选
  • http://www.xxx.com/a
  • 支付后回调地址,http或https开头
  • └ return_url
  • String
  • 可选
  • http://www.xxx.com/a
  • 支付后跳转地址,http或https开头

响应参数

名称 类型 示例值 描述
data EdiAlipayTradeRefundResponse 退款响应
  • └ trade_no
  • String
  • 2013112011001004330000121536
  • 支付宝交易号
  • └ out_trade_no
  • String
  • 6823789339978248
  • 商户订单号
  • └ buyer_logon_id
  • String
  • 159****5620
  • 用户登录ID
  • └ buyer_user_id
  • String
  • 159****5620
  • 买家在支付宝的用户id
  • └ fund_change
  • String
  • Y
  • 本次退款是否发生了资金变化
  • └ refund_fee
  • String
  • 88.88
  • 退款总金额
  • refund_detail_item_list
  • TradeFundBillDTO []
  • 退款使用的资金渠道
  • 退款使用的资金渠道。 只有在签约中指定需要返回资金明细,或者入参的query_options中指定时才返回该字段信息。
  • └ fund_channel
  • String
  • ALIPAYACCOUNT
  • 交易使用的资金渠道,详见https://doc.open.alipay.com/doc2/detail?treeId=26&articleId=103259&docType=1
  • └ amount
  • String
  • 10
  • 该支付工具类型所使用的金额
  • └ real_amount
  • String
  • 11.21
  • 渠道实际付款金额
  • └ fund_type
  • String
  • DEBIT_CARD
  • 渠道所使用的资金类型,目前只在资金渠道(fund_channel)是银行卡渠道(BANKCARD)的情况下才返回该信息(DEBIT_CARD:借记卡,CREDIT_CARD:信用卡,MIXED_CARD:借贷合一卡)
  • └ bank_code
  • String
  • ICBC
  • 银行卡支付时的银行代码
  • └ store_name
  • String
  • 望湘园联洋店
  • 交易在支付时候的门店名称
  • └ send_back_fee
  • String
  • 1.8
  • 本次商户实际退回金额 注:在签约收单产品时需勾选“返回资金明细”才会返回
  • └ refund_settlement_id
  • String
  • 209931445
  • 退款清算编号,用于清算对账使用; 只在银行间联交易场景下返回该信息;
  • └ gmt_refund_pay
  • Date
  • 2022-07-26 15:33:33
  • 退款支付时间
  • └ present_refund_buyer_amount
  • Date
  • 22.33
  • 本次退款金额中买家退款金额
  • └ present_refund_discount_amount
  • String
  • 1.88
  • 本次退款金额中平台优惠退款金额
  • └ present_refund_mdiscount_amount
  • String
  • 2.13
  • 本次退款金额中商家优惠退款金额
  • └ refund_charge_amount
  • String
  • 0.00
  • 本次退款针对收款方的退收费金额; 默认不返回该信息,需与支付宝约定后配置返回;
  • └ refund_currency
  • String
  • CNY
  • 退款币种信息
  • refund_preset_paytool_list
  • PresetPayToolInfoDTO
  • 前置支付资产信息
  • └ amount
  • String []
  • 前置资产金额
  • └ assert_type_code
  • String
  • 前置资产类型编码,和收单支付传入的preset_pay_tool里面的类型编码保持一致。
  • 前置资产类型编码,和收单支付传入的preset_pay_tool里面的类型编码保持一致。

请求示例

  • JAVA
  • .NET
  • PHP
  • CURL
  • Python
  • C/C++
  • NodeJS
TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
TmallLuxuryStageEdiAlipayTradeRefundCreateRequest req = new TmallLuxuryStageEdiAlipayTradeRefundCreateRequest();
TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.EdiAlipayTradeRefundRequest obj1 = new TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.EdiAlipayTradeRefundRequest();
obj1.setOutRequestNo("HZ01RF001");
obj1.setTradeNo("20150320010101001");
obj1.setRefundReason("正常退款");
obj1.setQueryOptions("refund_detail_item_list");
obj1.setOutTradeNo("20150320010101001");
List<TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.RefundRoyaltyParameterDTO> list3 = new ArrayList<TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.RefundRoyaltyParameterDTO>();
TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.RefundRoyaltyParameterDTO obj4 = new TmallLuxuryStageEdiAlipayTradeRefundCreateRequest.RefundRoyaltyParameterDTO();
list3.add(obj4);
obj4.setAmount("0.1");
obj4.setRoyaltyScene("达人佣金");
obj4.setTransOutType("userId");
obj4.setRoyaltyType("transfer");
obj4.setTransIn("2088101126765726");
obj4.setTransOut("2088101126765726");
obj4.setTransInType("userId");
obj4.setTransInName("张三");
obj4.setDesc("分账描述");
obj1.setRefundRoyaltyParameters(list3);
obj1.setRefundAmount("200.12");
obj1.setNotifyUrl("http://www.xxx.com/a");
obj1.setReturnUrl("http://www.xxx.com/a");
req.setEdiAlipayTradeRefundRequest(obj1);
TmallLuxuryStageEdiAlipayTradeRefundCreateResponse rsp = client.execute(req);
System.out.println(rsp.getBody());

响应示例

  • XML示例
  • JSON示例
<tmall_luxury_stage_edi_alipay_trade_refund_create_response>
    <data>
        <trade_no>2013112011001004330000121536</trade_no>
        <out_trade_no>6823789339978248</out_trade_no>
        <buyer_logon_id>159****5620</buyer_logon_id>
        <buyer_user_id>159****5620</buyer_user_id>
        <fund_change>Y</fund_change>
        <refund_fee>88.88</refund_fee>
        <refund_detail_item_list>
            <trade_fund_bill_d_t_o>
                <fund_channel>ALIPAYACCOUNT</fund_channel>
                <amount>10</amount>
                <real_amount>11.21</real_amount>
                <fund_type>DEBIT_CARD</fund_type>
                <bank_code>ICBC</bank_code>
            </trade_fund_bill_d_t_o>
        </refund_detail_item_list>
        <store_name>望湘园联洋店</store_name>
        <send_back_fee>1.8</send_back_fee>
        <refund_settlement_id>209931445</refund_settlement_id>
        <gmt_refund_pay>2022-07-26 15:33:33</gmt_refund_pay>
        <present_refund_buyer_amount>22.33</present_refund_buyer_amount>
        <present_refund_discount_amount>1.88</present_refund_discount_amount>
        <present_refund_mdiscount_amount>2.13</present_refund_mdiscount_amount>
        <refund_charge_amount>0.00</refund_charge_amount>
        <refund_currency>CNY</refund_currency>
        <refund_preset_paytool_list>
            <assert_type_code>前置资产类型编码,和收单支付传入的preset_pay_tool里面的类型编码保持一致。</assert_type_code>
        </refund_preset_paytool_list>
    </data>
</tmall_luxury_stage_edi_alipay_trade_refund_create_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>

错误码解释

错误码 错误描述 解决方案

API工具

如何获得此API

FAQ

返回
顶部