文档中心 > API类目 > 酒店线下信用住API

taobao.xhotel.order.alipayface.create (信用住支付创建接口)

用于创建一笔信用住支付,主要应用场景是线下信用住

公共参数

请求参数

名称 类型 是否必须 示例值 更多限制 描述
out_order_id String 必须 12323111 商家系统的订单号,必须全局唯一,重复会按照相同订单处理
hotel_code String 必须 H123 发布到阿里旅行的酒店编码
check_in Date 必须 2015-08-29 00:00:00 入住日期
check_out Date 必须 2015-08-28 00:00:00 离店日期(最多允许9天)
room_quantity Number 必须 1 预定的房间数量
total_fee Number 必须 12300 总房费,单位为分
daily_price_info String 可选 [{"day":"2015-08-12","price":48800},{"day":"2015-08-13","price":48800}] 每日房价,json格式
roomtype_name String 可选 大床房 房型名称
rateplan_name String 可选 信用住 rateplan名称(不清楚可以留空)
guests Guest [] 必须
  • 最大列表长度:20
  • 入住人信息, 注意必须有且只有一个设置为主入住人, 用于信用住结算扣款. 对于java版本的SDK可以使用setGuests(List < Guest > guests)赋值; 对于.net等其他版本SDK可以通过将List < Guest>结构数据转为json串赋值.
    • └ encrypt_type
    • Number
    • 可选
    • 1
    • 加密方式, 默认0: 不加密, 信息会通过淘宝开放平台传输, 阿里旅行可以获取到具体信息; 1: SHA-1不可逆加密, 阿里旅行方面无法解析到具体信息, 只用于做信息匹配.注意加密后生成40字节长度的字符串
    • └ name
    • String
    • 必须
    • 张三
    • 姓名, 如果加密方式设置为1, 传入加密后的姓名
    • └ id_number
    • String
    • 必须
    • 110000199911112222
    • 证件号, 如果加密方式设置为1, 传入加密后的证件号
    • └ phone
    • String
    • 可选
    • 13344445555
    • 手机号, 如果加密方式设置为1, 传入加密后的手机号
    • └ id_type
    • Number
    • 可选
    • 1
    • 证件类型, 默认0:身份证; 1: 护照; 2:警官证; 3:士兵证; 4: 回乡证
    • └ is_main
    • Boolean
    • 必须
    • true
    • 是否主入住人,该入住人会参与信用住结算扣款,多个入住人时必须有且仅有一个该字段设置为true
    alipay_number String 可选 123213NNN 扫描用户支付宝得到的串号, 该字段不为空时会采用串号对应的支付宝账号进行信用住结算
    channel String 可选 CCC 订单渠道信息,可以留空
    vendor String 可选 taobao
  • 默认值:taobao
  • 最大长度:50
  • 不清楚请留空, 用于和outHid共同定位一个酒店
    self_checkin Boolean 可选 false
  • 默认值:false
  • 是否为自助入住模式下创建订单,是:true,否:false

    响应参数

    名称 类型 示例值 描述
    tid Number 1231123123 阿里旅行生成的订单id,该字段很重要,后续结账等操作都要使用tid
    guarantee_amout Number 100000 阿里旅行为该笔订单提供的最大杂费(不含房费)担保金额,单位为分. 注意该金额指客人除了房费以外可消费的金额上限
    out_order_id String 12323111 酒店订单号, 和入参中传入一致
    main_id_number String 110000199911112222 用于当传入多个入住人时, 将阿里旅行最终用于结算的入住人信息回传
    alitrip_discount Number 2000 阿里旅行平台提供的优惠金额,单位为分
    seller_discount Number 1000 商家自身提供给该订单的优惠金额,单位为分
    buyer_nick String 李四 用于签约和扣款的买家淘宝账号
    remark String 将使用淘宝账号"李四"进行信用住签约, 并在您离店后自动扣款 阿里旅行生成的备注信息,用于提示用户一些注意事宜. 请将该字段的信息打印到客人的入住单上. 如果为空代表没有阿里旅行方面的特殊备注

    请求示例

    • JAVA
    • .NET
    • PHP
    • CURL
    • Python
    • C/C++
    • NodeJS
    TaobaoClient client = new DefaultTaobaoClient(url, appkey, secret);
    XhotelOrderAlipayfaceCreateRequest req = new XhotelOrderAlipayfaceCreateRequest();
    req.setOutOrderId("12323111");
    req.setHotelCode("H123");
    req.setCheckIn(StringUtils.parseDateTime("2015-08-29 00:00:00"));
    req.setCheckOut(StringUtils.parseDateTime("2015-08-28 00:00:00"));
    req.setRoomQuantity(1L);
    req.setTotalFee(12300L);
    req.setDailyPriceInfo("[{\"day\":\"2015-08-12\",\"price\":48800},{\"day\":\"2015-08-13\",\"price\":48800}]");
    req.setRoomtypeName("大床房");
    req.setRateplanName("信用住");
    List<XhotelOrderAlipayfaceCreateRequest.Guest> list2 = new ArrayList<XhotelOrderAlipayfaceCreateRequest.Guest>();
    XhotelOrderAlipayfaceCreateRequest.Guest obj3 = new XhotelOrderAlipayfaceCreateRequest.Guest();
    list2.add(obj3);
    obj3.setEncryptType(1L);
    obj3.setName("张三");
    obj3.setIdNumber("110000199911112222");
    obj3.setPhone("13344445555");
    obj3.setIdType(1L);
    obj3.setIsMain(true);
    req.setGuests(list2);
    req.setAlipayNumber("123213NNN");
    req.setChannel("CCC");
    req.setVendor("taobao");
    req.setSelfCheckin(false);
    XhotelOrderAlipayfaceCreateResponse rsp = client.execute(req, sessionKey);
    System.out.println(rsp.getBody());

    响应示例

    • XML示例
    • JSON示例
    <xhotel_order_alipayface_create_response>
        <tid>1231123123</tid>
        <guarantee_amout>100000</guarantee_amout>
        <out_order_id>12323111</out_order_id>
        <main_id_number>110000199911112222</main_id_number>
        <alitrip_discount>2000</alitrip_discount>
        <seller_discount>1000</seller_discount>
        <buyer_nick>李四</buyer_nick>
        <remark>将使用淘宝账号&quot;李四&quot;进行信用住签约, 并在您离店后自动扣款</remark>
    </xhotel_order_alipayface_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>

    错误码解释

    错误码 错误描述 解决方案
    isv.invalid-parameter:NOTNULL 参数不能为空 参考api文档检查入参
    isv.invalid-parameter:NUM 参数应该是数字 参考api文档检查入参
    isv.invalid-parameter:DATE_FORMAT_ERROR 参数日期格式不正确 参考api文档检查入参
    isv.invalid-parameter:RANGE_ERROR 参数只能从指定的可选值中选择 参考api文档检查入参
    isv.invalid-parameter:FORMAT_ERROR 参数格式不正确 参考api文档检查入参
    isv.invalid-parameter:LENGTH_OVERRANGE 参数长度不能超过规定值 参考api文档检查入参
    isv.permission-error:NO_PERMISSIONS_ERROR 权限不够、非法访问 检查订单id是否输入有误
    isp.system-error 系统错误 联系技术支持跟进
    isv.biz-error:USER_GUARANTEE_NO_ENOUGH 该用户当前信用额度不足, 无法支付此房费, 请使用现金或其他方式结账 不能使用线下信用住完成订单,建议使用现金或者其他结算方式
    isv.invalid-parameter:GUESTS 入住人必须有且仅有一个设置为主入住人 guests字段中最少有一个guest的isMian=true
    isv.invalid-parameter:ORDER_FEE 订单金额设置有误,每日房费和总房费不匹配等 检查每日房价字段设置是否正确,和总房费是否一致
    isv.biz-error:HAS_NOT_SIGNED 该用户尚未签约线下信用住, 请先扫码签约 推荐用户先进行线下信用住签约流程,后使用线下信用住付款
    isv.biz-error:USER_HAS_RISK 该用户支付宝账号存在风险, 暂不支持使用线下信用住, 请使用现金或其他方式结账 让用户使用现金或者其他结算方式
    isv.service-error:SYSTEM_NO_READY 系统尚未就绪,请勿调用 请联系技术支持
    isv.biz-error:NO_SIGNED_USER 该用户尚未签约, 暂不支持使用线下信用住, 请使用现金或其他方式结账 推荐用户请使用现金或其他方式结账
    isv.order-error:TOO_MANY_DAYS 入住时间过长,最多9间夜,可新建订单改用现金或其他方式支付 拆成两笔订单结算
    isv.biz-error:USER_HAS_SIMILA_ORDER 已经有订单 关闭掉之前预定的订单
    isv.invalid-parameter:HOTEL_NO_EXIST 酒店不存在 确认酒店code是否正确
    isv.invalid-parameter 参数错误 查看参数
    isv.biz-error:DUPLICATE_REQUEST 重复的请求 不要重复
    isv.invalid-parameter:ERROR_NAME_ERROR 入住人姓名传递错误 检查签约人姓名和入住人姓名是否一致

    API工具

    如何获得此API

    FAQ

    返回
    顶部