ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### 合作商订单处理》创建和付款同时完成的可以集成联合票务新订单接口。 #### **我方系统会定时每5分钟轮询执行通知任务(销码通知和退款通知)** * * * * * ### **安全机制** 由联合票务分配parnterId,apiname,clientSecret; 为了保证双方间的交互安全,采用HTTP Header 参数加密认证的方式。双方需要约定id与密钥,根据加密算法,生成HTTP Header 字段。 HTTP Header部分必须包含如下三个字段,样式如下: | 字段 | 内容 | | --- | --- | | PartnerId | 由联合分配 | | Date | Wed, 06 May 2015 10:34:20 GMT | | Authorization | LH testapi:frJIUN8DYpKDtOLCwozzyllqDzg=(具体生成策略见BA认证) | 其中Date 字段指的是接口调用的当前时间. 服务会检查该时间,如果该时间过早,会拒绝服务. #### **签名方法** 1. 拼接加密字符串$signstr 。 > 请求方法大写+空格+uri+"\n"+时间 demo示例签名字段:"POST /openapi/index.php?method=creatOrder" + "\n" + "Wed, 06 May 2015 10:34:20 GMT"; 2. sha1加密第一步产生的$signstr。生成字段$sign。 3. base64编码上一步加密的结果$sign。 4. 最后拼接最终签名 'LH '+$apiname+':'+$sign; * 注意 LH 后的空格和apiname后的 : 详见签名例子 ***常见签名错误原因***: 1.不按照签名字串格式生成字串:缺少空格,/n等字符。 2.HttpRequest Head缺少字段。 进行签名的URl不对。是 /openapi/index.php?method=creatOrder 而不是 http://网址/openapi/index.php?method=creatOrder 3.签名的方法不对。表现为同样的字串得到的签名不同。 4.时间不对。 5.时间格式不对。正确的时间格式:Tue, 05 May 2015 06:11:34 GMT 6.合作方放在HttpRequest中的时间和我们的在HttpRequest中获取到得时间不同。 例如:同一个时间字串,双方的解析结果不同 某合作方的签名字段是"POST /openapi/index.php?method=creatOrder"+"\n"+"Wed, 06 May 2015 10:22:43 GMT" 联合票务的签名字串:"POST /openapi/index.php?method=creatOrder"+"\n"+"Wed, 06 May 2015 10:34:20 GMT” 7.通知接口是什么? 通知接口是我方进行销码通知和退款通知时签名用的,合作方可自行决定是否校验签名。 * * * * * ### **uri列表**: /openapi/index.php?method=notify 通知uri(退款和销码通知,均采用此uri进行签名) /openapi/index.php?method=getTeam 拉取产品信息 /openapi/index.php?method=send 重发认证 /openapi/index.php?method=creatOrder 创建订单 /openapi/index.php?method=queryOrder 查询订单 /openapi/index.php?method=payOrder 支付订单 /openapi/index.php?method=cancelOrder 取消订单 /openapi/index.php?method=newOrder 新订单(合作方订单创建支付同时进行的话,可以匹配这个接口,生成已支付成功的订单) * * * * * ###**全局返回码说明** |返回码|说明| |--|--| | 10000 | 请求成功| | 20000 | 请求失败(包含以下所有情况。)| | **2.3版本接口新增** | **version 2.3** | | 10001 | 请求参数异常| | 10002 | 余额不足| | **产品问题** |说明| | 10100 | 产品不存在| | 10101 | 产品下线| | 10102 | 产品关闭| | **订单问题** |说明| | 10200 | 订单不存在| | 10201 | 订单已关闭| | 10202 | 订单已过期| | 10203 | 订单请求参数异常 | | 10204 | 景区出票失败 | | 10205 | 订单信息不匹配 | | 10206 | 订单处理失败 | | 10210 | 新增订单失败| | 10211 | 产品价格校验未通过| | 10212 | 超出产品限购数量| | 10213 | 超出产品身份证限购数量| | 10214 | 超出产品手机号限购数量| | 10299 | 其它订单错误 | | **退款问题** |说明| | 10300 | 退款单不存在| | 10301 | 退票待审核状态| | 10302 | 退款已成功| | 10303 | 退款失败,门票已消费| | 10304 | 退票被驳回| | 10305 | 订单未付款| | 10306 | 导码单无法处理| | 10307 | 退款数量超出可退数量| | 10399 | 其它退款错误| * * * * * 产品状态说明 |值|说明| |--|--| |0| 产品下架| |1| 产品上架| |2| 产品有变化| * * * * * ###**订单返回状态说明**: |值|说明|介绍| |--|--|--| |0| 订单查询异常 | 仅供查询订单接口使用| |1| 创建订单成功 | 供创建订单接口、查询订单接口使用| |2| 创建订单失败、订单不存在 | 供创建订单接口、查询订单接口使用| |3| 新增订单成功 | 仅供新增订单接口使用,查询订单时返回参考4,5| |4| 支付订单成功 | 供支付订单接口使用 注意支付成功后,查询订单接口不要返回此状态,用8或9替换| |5| 支付订单失败、订单未付款 | 供支付订单接口、查询订单接口使用| |6| 退款成功 | 供退款接口、退款通知接口使用| |7| 退款失败 | 供退款接口、退款通知接口使用| |8| 票全部终结 | 供查询订单接口、消费通知接口使用 解释:如果核销票数与退款票数之和等于票总数,置为8状态usedQuantity + refundQuantity = orderQuantity, orderStatus = 8| |9| 票未全部终结| 供查询订单接口、消费通知接口使用 解释:如果核销票数与退款票数之和不等于票总数,置为9状态usedQuantity + refundQuantity != orderQuantity, orderStatus = 9| ###**退款状态详细说明(供退款接口,查询接口使用)** 说明部分返回值仅退款接口返回,查询接口返回对应的订单状态。 reStatus |返回值 |说明|退款接口|查询接口|备注| |--|--|--|--|--| | 1 | 退款已申请 |Yes|Yes| 此订单已有退款申请了,请等待退款申请处理完成。| | 2 | 退款已成功 |Yes|Yes| 此订单已完成退款,没有可用票了| | 3 | 已消费无法退款|Yes|No | 查询接口返回订单状态orderStatus=8,订单可用票数已消费完毕。| | 4 | 退款已驳回 |Yes|Yes| 驳回状态的退款,接口程序将不再对此订单进行任何处理操作,若有异议,均需人工申诉处理 | | 5 | 订单未支付 |Yes|No | 联合不进行退款操作,合作方可自行校验支付状态,处理此订单| | 6 | 外站订单不支持接口退款 |Yes|No |外站码订单,不支持接口取消,请人工处理此订单|