创建速住订单
接口说明
接口url | https://api.mch.weixin.qq.com/wxv/createhotelbill |
---|---|
请求方式 |
POST |
传输格式 |
XML |
注意事项
- 当返回错误码为“SYSTEMERROR”时,请不要更换商户订单号,一定要使用原商户订单号重试,否则可能造成重复支付等资金风险。
- XML具有可扩展性,因此返回参数可能会有新增,而且顺序可能不完全遵循此文档规范,如果在解析回包的时候发生错误,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新回包字段,会更新到此API文档中。
- 因为错误代码字段err_code的值后续可能会增加,所以商户如果遇到回包返回新的错误码,请商户务必不要换单重试,请商户联系客服确认付款情况。如果有新的错误码,会更新到此API文档中。
- 错误代码描述字段err_code_des只供人工定位问题时做参考,系统实现时请不要依赖这个字段来做自动化处理。
- 创建订单后如果超过一小时用户没有进行确认订单操作,订单将失效,无法被用户确认.
是否需要证书
是,详见证书说明
前置条件
无
请求参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
接口版本号 | version | 是 | String(32) | 1.0 | 接口版本号,默认值1.0 |
公众账号ID | appid | 是 | String(32) | wxd678efh567hg6787 | 微信公众平台分配的与传入的商户号建立了支付绑定关系的appid,可在公众平台查看绑定关系. 需要在本系统先进行配置. |
商户号 | mch_id | 是 | String(32) | 1230000109 | 微信支付分配的商户号 需要在本系统先进行配置. 需要与创建订单时保持一致. |
随机字符串 | nonce_str | 是 | String(32) | ibuaiVcKdpRxkhJA | 随机字符串,长度要求在32位以内。推荐随机数生成算法 |
签名 | sign | 是 | String(128) | 029B52F67573D7E3BE74904BF9AEA | 通过签名算法计算得出的签名值,详见签名生成算法 |
签名类型 | sign_type | 是 | String(32) | HMAC-SHA256 | 签名类型,仅支持HMAC-SHA256 |
商户服务订单号 | out_order_no | 是 | String(32) | 1234323JKHDFE1243252 | 商户系统内部订单号,要求32个字符内,只能是数字、大小写字母_-|* 且在同一个商户号下唯一。详见商户订单号 |
服务ID | service_id | 是 | String(32) | 该服务ID有本接口对应产品的权限 | |
房间 | room | 是 | String(40) | 几木双床房2间 | 支持40个字符,按照字符计算 超过长度报错处理 |
入住时间 | start_time | 是 | String(14) | 20091225091010 | 用户下单时确认的入住时间(比如用户今天下单,明天开始入住,这里指的是明天的入住时间). 支持两种格式:yyyyMMddHHmmss和yyyyMMdd,如2009年12月25日9点10分10秒表示为20091225091010或者20091225.传入20091225默认时间为2009年12月25日0点0分0秒 |
预定离店时间 | end_time | 是 | String(14) | 20091225091010 | 表示用户下单时确定的离店时间,如果超出此时间服务方还未完结订单,用户的本订单将会进入待处理状态. 【预定离店时间】需要超过【入住时间】。支持两种格式:yyyyMMddHHmmss和yyyyMMdd,如2009年12月25日9点10分10秒表示为20091225091010或者20091225.传入20091225默认时间为2009年12月25日23点59分59秒 |
酒店 | service_location | 是 | String(20) | 北京亦庄亚朵酒店 | 支持20个字符,按照字符计算 表示用户入住的酒店名称 超过长度报错处理 |
押金金额 | deposit_amount | 是 | int | 80000 | 单位:分 必须>0, <=200000 |
房费 | room_rate | 是 | int | 20000 | 单位:分 必须>=0 不能超过【押金金额】 |
房费说明 | room_rate_desc | 否 | String(30) | 共住3晚,每晚100元 | 支持30个字符,按照字符计算 超过长度报错 用来说明一些特殊规则和详细内容 |
回调数据包 | attach | 否 | String(200) | 商户自定义说明,可存放本订单所需信息. 需要先urlencode后传入. 总长度不大于200,超出报错处理. | |
取消规则标签 | cancel_rule | 是 | String(32) | FREE:免费取消 FREE_TIME_LIMIT:限时免费取消 CHARGE:取消需要收费 | |
取消规则描述 | cancel_rule_desc | 是 | String(150) | 说明订单的取消规则 |
以下参数建议商户传递,一旦传入会将其与当前进入微信的用户对应的实名信息进行匹配验证,接入风控来验证否有风险,如果有风险将此用户本次订单加入到我们服务使用的风控拦截中。
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
平台证书序列号 | cert_serial_no | 如果传入下述用户信息必填,否则不填 | String(128) | 45233302 | 用户信息加密的平台证书序列号。参考证书获取方法 以及 加密说明 |
用户标识 | openid | 否 | String(128) | oUpF8uMuAJO_M2pxb1Q9zNjWeS6o | 微信用户在商户对应appid下的唯一标识。 |
用户姓名 | name | 否 | String(400) | 补全用户信息,用于风控拦截. 需要rsa平台公钥加密 | |
用户手机号 | phone | 否 | String(400) | 补全用户信息,用于风控拦截. 需要rsa平台公钥加密 | |
用户身份证ID | userid | 否 | String(400) | 补全用户信息,用于风控拦截.需要rsa平台公钥加密 | |
用户收货地址 | address | 否 | String(400) | 补全用户信息,用于风控拦截.需要rsa平台公钥加密 |
返回参数
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
返回状态码 | return_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL 此字段是通信标识,非业务标识,是否成功需要查看result_code来判断 |
返回结果 | return_msg | 否 | String(128) | 签名失败 | 返回信息,如非空,为错误原因,如签名失败,参数格式校验错误 |
以下字段在return_code为SUCCESS的时候有返回
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
签名 | sign | 是 | String(128) | 029B52F67573D7E3BE74904BF9A | 通过签名算法计算得出的签名值,详见签名生成算法 |
随机字符串 | nonce_str | 是 | String(32) | ibuaiVcKdpRxkhJA | 随机字符串,长度要求在32位以内。推荐随机数生成算法 |
业务结果 | result_code | 是 | String(16) | SUCCESS | SUCCESS/FAIL 创建成功返回SUCCESS,否则返回FAIL. FAIL情况需要根据err_code进行不同处理. |
错误代码 | err_code | 否 | String(32) | SYSTEMERROR | 错误码,详见错误码说明 |
错误描述 | err_code_des | 否 | String(128) | 系统错误 | 错误信息描述 |
公众账号ID | appid | 是 | String(32) | wxd678efh567hg6787 | 调用接口提交的公众账号ID |
商户号 | mch_id | 是 | String(32) | 1230000109 | 调用接口提交的商户号 |
商户服务订单号 | out_order_no | 是 | String(32) | 1234323JKHDFE1243252 | 调用接口提交的商户服务订单号 |
服务ID | service_id | 是 | String(32) | 调用该接口提交的服务ID |
以下字段当return_code、result_code都为SUCCESS时有返回
字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
---|---|---|---|---|---|
微信支付服务订单号 | order_id | 是 | String(128) | 微信支付服务订单号 每个微信支付服务订单号与商户号下对应的商户服务订单号一一对应 | |
小程序跳转appid | miniprogram_appid | 是 | String(32) | 小程序跳转appid,在商户小程序跳转到微信侧小程序流程需要用到 | |
小程序跳转路径 | miniprogram_path | 是 | String(128) | 小程序跳转路径 | |
小程序跳转username | miniprogram_username | 是 | String(128) | 小程序跳转username,在商户APP跳转微信侧小程序流程需要用到 | |
跳转微信侧小程序订单数据 | package | 是 | String(300) | 用于跳转到微信侧小程序订单数据,跳转到微信侧小程序传入 |
错误码
名称 | 描述 | 原因 | 解决方案 |
---|---|---|---|
SYSTEMERROR | 系统错误 | 系统超时 | 系统异常,请使用相同参数稍后重新调用 |
PARAM_ERROR | 参数错误 | 请求参数不合法 | 请使用正确的参数重新调用 |
INVALID_REQUEST | 无效的请求 | 商户没有接口权限 重入情况下参数不一致 | 请申请接口权限 请确认相同单号是否使用了不同的参数 |
RATE_LIMITED | 频率限制 | 超过接口调用频率限制 | 请求量不要超过XX/XX |