文档中心 > API类目 > 汽车票API

taobao.bus.tvmrefundorder.set (线下自助机逆向退款接口)

汽车票线下自助机 逆向退票接口;用于已出票完成后,再发起退款(注意这是售后退款,如出票异常但是告诉我们出票成功,后续给客户退款,需要调用这个接口,一般开放给财务。出票过程中的失败,请直接调用出票接口并且传递false标志,我们会自动退款。)

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
alitrip_order_id String 必须 1000000001 飞猪订单号
refund_account_in_details RefundAccountInDetail [] 可选
  • 最大列表长度:20
  • 分账退款明细
    • └ alipay_account
    • String
    • 可选
    • 123456789
    • 收款账户支付宝ID 必传
    • └ alipay_account_id
    • String
    • 可选
    • xx@126.com
    • 收款装好支付宝账号,注意和上面的支付宝ID 要对应好
    • └ refund_amount
    • Number
    • 可选
    • 50
    • 分为单位;退多少钱
    • └ refund_batch_no
    • String
    • 可选
    • A_124
    • 退款批次号须唯一
    refund_amount Number 必须 100 退款金额(单位分) 票金额
    refund_batch_no String 必须 A_124 批次号必须唯一,同一批次号只能退款一次 (多账号分润的该值 填写refundAccountInDetails中批次号的任意一个即可
    refund_reason String 可选 退款原因 退款原因
    insurance_refund_details InsuranceRefundDetail [] 可选
  • 最大列表长度:999
  • 保险退款详情
    • tvm_insurance_infos
    • TvmInsuranceInfo []
    • 可选
    • 退保信息
    • 退保信息
    • └ insure_price
    • Number
    • 可选
    • 1000
    • 保险价格
    • └ product_no
    • String
    • 可选
    • 1231231abc
    • 保险产品码
    • └ insure_price
    • Number
    • 可选
    • 100
    • 保险退款总金额
    • └ rider_cert_number
    • String
    • 可选
    • 证件号
    • 乘客证件号
    • └ rider_cert_type
    • String
    • 可选
    • 01
    • 证件类型:01:身份证,02:护照,03:港澳通行证,04:台湾通行证,05:港澳往返内地通行证,06:台湾往返内地通行证,07:港澳居民居住证
    • └ rider_name
    • String
    • 可选
    • 张三
    • 乘客姓名

    响应参数

    名称 类型 示例值 描述
    result_code String 9999 errorCode 错误码
    result_msg String 退款失败 errorMsg 错误信息
    is_success Boolean 是否成功 success true 成功 false 失败

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    BusTvmrefundorderSetRequest req = new BusTvmrefundorderSetRequest();
    req.setAlitripOrderId("1000000001");
    List<BusTvmrefundorderSetRequest.RefundAccountInDetail> list2 = new ArrayList<BusTvmrefundorderSetRequest.RefundAccountInDetail>();
    BusTvmrefundorderSetRequest.RefundAccountInDetail obj3 = new BusTvmrefundorderSetRequest.RefundAccountInDetail();
    list2.add(obj3);
    obj3.setAlipayAccount("123456789");
    obj3.setAlipayAccountId("xx@126.com");
    obj3.setRefundAmount(50L);
    obj3.setRefundBatchNo("A_124");
    req.setRefundAccountInDetails(list2);
    req.setRefundAmount(100L);
    req.setRefundBatchNo("A_124");
    req.setRefundReason("退款原因");
    List<BusTvmrefundorderSetRequest.InsuranceRefundDetail> list5 = new ArrayList<BusTvmrefundorderSetRequest.InsuranceRefundDetail>();
    BusTvmrefundorderSetRequest.InsuranceRefundDetail obj6 = new BusTvmrefundorderSetRequest.InsuranceRefundDetail();
    list5.add(obj6);
    List<BusTvmrefundorderSetRequest.TvmInsuranceInfo> list9 = new ArrayList<BusTvmrefundorderSetRequest.TvmInsuranceInfo>();
    BusTvmrefundorderSetRequest.TvmInsuranceInfo obj10 = new BusTvmrefundorderSetRequest.TvmInsuranceInfo();
    list9.add(obj10);
    obj10.setInsurePrice(1000L);
    obj10.setProductNo("1231231abc");
    list7.setTvmInsuranceInfos(list9);
    obj6.setInsurePrice(100L);
    obj6.setRiderCertNumber("证件号");
    obj6.setRiderCertType("01");
    obj6.setRiderName("张三");
    req.setInsuranceRefundDetails(list5);
    BusTvmrefundorderSetResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <bus_tvmrefundorder_set_response>
        <result_code>9999</result_code>
        <result_msg>退款失败</result_msg>
        <is_success>是否成功</is_success>
    </bus_tvmrefundorder_set_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

    返回
    顶部