文档中心 > API类目 > 酒店在线预订API

taobao.xhotel.order.alipayface.settle (信用住订单结账接口)

用于离店付订单在客人离店后,发起结账以及扣款等后续动作

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
tid Number 可选 12323 淘宝订单id,必须填写
total_room_fee Number 必须 12300 房费总额(必须大于0)。结账时请按订单原价发起结账卖家优惠由飞猪平台发起扣减
other_fee Number 必须 12300 杂费总额(不能为负数)
other_fee_detail String 可选 {"洗衣费":5000,"水吧":10000,"优惠":1000}
  • 最大长度:1024
  • 杂费明细,如果otherFee>0则该字段必须设置,并和杂费金额相吻合
    out_id String 可选 外部单号 商家订单号
    room_no String 可选 12A 入住房间号
    daily_price_info String 可选 [{"day":"2015-08-12","price":48800,"taxAndFee":1200},{"day":"2015-08-13","price":48800,"taxAndFee":1200,"basePrice":1000}] 每日房价,json格式(包含日期,价格,税费,低价加价前费用等),如果房价和在阿里旅行下单时发生了变化,必须设置该字段.用于更新阿里旅行端的房价信息,涉及到对用户的优惠信息处理等环节(多间房的时候dailyPriceInfo留空)
    check_out Date 必须 2015-08-10 00:00:00 实际离店日期,用于校验总房费收取
    memo String 可选 "客人要求提前离店"
  • 最大长度:512
  • 备注
    room_settle_info_list RoomSettleInfo [] 可选
  • 最大列表长度:20
  • 单间房明细
    • └ room_no
    • String
    • 可选
    • 123
    • 房间号
    • └ room_fee
    • Number
    • 可选
    • 500
    • 房间费(大于零)
    • └ room_other_fee
    • Number
    • 可选
    • 12
    • 房间杂费(不能为负数)
    • └ room_other_fee_detail
    • String
    • 可选
    • {"洗衣费":5000,"水吧":10000,"优惠":1000}
    • 房间杂费明细 (当房间杂费存在时候,此值不能空。格式与原有杂费格式otherFeeDetail的格式相同)eg;{"洗衣费":5000,"水吧":10000,"优惠":1000}
    • └ room_check_in
    • Date
    • 可选
    • 2015-08-10 00:00:00
    • 房间check in 时间
    • └ room_check_out
    • Date
    • 可选
    • 2015-08-11 00:00:00
    • 房间check out时间
    • └ daily_price_info
    • String
    • 可选
    • [{"day":"2015-08-12","price":48800,"taxAndFee":1200},{"day":"2015-08-13","price":48800,"taxAndFee":1200,"basePrice":1000}]
    • 日历价格,json格式(包含日期,价格,税费,低价加价前费用等),(每个房间的日历价格,多间房结账必填)
    • └ room_status
    • String
    • 可选
    • 3
    • 房间状态;1:未入住(担保且需扣款);2:取消成功(卖家取消;担保noshow且双方协商一致不扣款);3:已入住
    contain_guarantee Number 可选 0 此金额是否包含担保金 0:默认值无意义;1:包含;2:不包含
    price_change Number 可选 0 结账变价标识,0未变价,1变价
    currency_code String 可选 CNY
  • 默认值:CNY
  • 币种标识,默认人民币
    currency_rate String 可选 1.0
  • 默认值:1.0
  • 汇率
    tax_and_fee Number 可选 1200 税和服务费
    amount Number 可选 1200 应收金额,大于0时,直接按照此金额扣款,忽略房费和杂费金额。该字段仅适用于自助入住订单场景
    hotel_code String 可选 A1000 酒店外部编码

    响应参数

    名称 类型 示例值 描述
    result String success 返回

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    XhotelOrderAlipayfaceSettleRequest req = new XhotelOrderAlipayfaceSettleRequest();
    req.setTid(12323L);
    req.setTotalRoomFee(12300L);
    req.setOtherFee(12300L);
    req.setOtherFeeDetail("{\"洗衣费\":5000,\"水吧\":10000,\"优惠\":1000}");
    req.setOutId("外部单号");
    req.setRoomNo("12A");
    req.setDailyPriceInfo("[{\"day\":\"2015-08-12\",\"price\":48800,\"taxAndFee\":1200},{\"day\":\"2015-08-13\",\"price\":48800,\"taxAndFee\":1200,\"basePrice\":1000}]");
    req.setCheckOut(StringUtils.parseDateTime("2015-08-10 00:00:00"));
    req.setMemo("\"客人要求提前离店\"");
    List<XhotelOrderAlipayfaceSettleRequest.RoomSettleInfo> list2 = new ArrayList<XhotelOrderAlipayfaceSettleRequest.RoomSettleInfo>();
    XhotelOrderAlipayfaceSettleRequest.RoomSettleInfo obj3 = new XhotelOrderAlipayfaceSettleRequest.RoomSettleInfo();
    list2.add(obj3);
    obj3.setRoomNo("123");
    obj3.setRoomFee(500L);
    obj3.setRoomOtherFee(12L);
    obj3.setRoomOtherFeeDetail("{\"洗衣费\":5000,\"水吧\":10000,\"优惠\":1000}");
    obj3.setRoomCheckIn(StringUtils.parseDateTime("2015-08-10 00:00:00"));
    obj3.setRoomCheckOut(StringUtils.parseDateTime("2015-08-11 00:00:00"));
    obj3.setDailyPriceInfo("[{\"day\":\"2015-08-12\",\"price\":48800,\"taxAndFee\":1200},{\"day\":\"2015-08-13\",\"price\":48800,\"taxAndFee\":1200,\"basePrice\":1000}]");
    obj3.setRoomStatus("3");
    req.setRoomSettleInfoList(list2);
    req.setContainGuarantee(0L);
    req.setPriceChange(0L);
    req.setCurrencyCode("CNY");
    req.setCurrencyRate("1.0");
    req.setTaxAndFee(1200L);
    req.setAmount(1200L);
    req.setHotelCode("A1000");
    XhotelOrderAlipayfaceSettleResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <xhotel_order_alipayface_settle_response>
        <result>success</result>
    </xhotel_order_alipayface_settle_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:NOTNULL 参数不能为空 参考api文档检查入参
    isv.invalid-parameter:NUM 参数应该是数字 参考api文档检查入参
    isv.invalid-parameter:STRING 参数应该是字符串 参考api文档检查入参
    isv.invalid-parameter:DATE_FORMAT_ERROR 参数日期格式不正确 参考api文档检查入参
    isv.invalid-parameter:RANGE_ERROR 参数只能从指定的可选值中选择 参考api文档检查入参
    isv.invalid-parameter:FORMAT_ERROR 参数格式不正确 参考api文档检查入参,重点查看杂费明细json是否格式正确
    isv.invalid-parameter:LENGTH_OVERRANGE 参数长度不能超过规定值 参考api文档检查入参
    isv.invalid-parameter:BYTES_OVERRANGE 参数字节数不能超过规定值 参考api文档检查入参
    isv.remote-service:CONVERT_ERROR 转换对象时出错 检查入参或者联系技术支持
    isv.permission-error:NO_PERMISSIONS_ERROR 权限不够、非法访问 检查订单id是否输入有误
    isv.invalid-parameter:GET_ORDER_IDS_ALL_NULL_ERROR 参数oid,tid不能都为空 淘宝订单号和卖家订单号至少传入一个
    isv.order-error:ORDER_STATUS_MISMATCHING 订单当前状态不允许进行该操作 确定订单状态,或者联系技术支持
    isv.order-error:ORDER_NOT_EXIST 未查询到订单数据 检查订单id是否输入正确,是否已经入住
    isv.order-error:OTHER_FEE_NOT_VALID 杂费金额不合法 订单总额是0的时候不允许传入大于0的杂费信息
    isp.remote-service-error 系统错误 联系技术支持跟进
    isv.invalid-parameter:ERROR 参数不正确 或者其他费用必须大于0并且小于1000元 或者操作时间早于订单checkIn时间 等等 按照错误描述信息修改入参。如果不能解决问题、联系技术支持
    isv.biz-error:BIZ_ERROR 业务异常 联系技术支持跟进
    isv.order-error:NOT_SUPPORT_OPT_TYPE 当前订单不支持该操作类型 预付和面付订单不允许进行该操作
    isv.order-parameter:OTHER_FEE_NOT_VALID 房费或者杂费金额不合法 重新核对费用信息后传入

    API工具

    如何获得此API

    FAQ

    返回
    顶部