前言 最近在对接51book的机票接口,遇到了挺多坑,因此整理一份做为记录php
机票有两个不一样的接口,一个是机票,另外一个是保险web
要接51book的机票,首先是要申请帐号,这时候应该是有客户经理跟进,而后具体事宜都会告诉你。thinkphp
拿到帐号以后,客户经理会把你的帐号拉入测试组,否则测试购买机票而后改签、退票都是须要钱的,作测试支付机票的时候还要去后台开通2个东西:数据库
这两个是分别受权的,有两个网址。异步
对了,后台还有密码要设置,点击“个人余额”而后就能够设置了。thinkphp5
购买机票的逻辑测试
51book那边会有接口文档,如今已经更新http新接口blog
接口主页:http://ws.51book.com/
机票新接口:http://ws.51book.com/ltips/web/CustomerDetailController.in?id=13&flag=getDetail&language=CH接口
保险接口文档目前尚未在线的,由51book那边单独发送ip
接口测试须要51book那边把你的ip设为白名单
接口参数和返回都说的很清楚,这里就不在详细描述了,我作对接的时候遇到几个坑,须要注意一下:
1000:待支付 ,
2000:已支付,待出票 ,
3000:已出票 ,
4000:变动审核中 ,
4100:变动需支付 ,
4200: 处理中,
4300:变动完成,
4400:没法变动,
5000:退票审核中,
5100:审核经过,待退款
5200:退款成功,
5300:没法退/废票,
5400:退款失败,
6000:已取消,
保险接口没有http协议的接口,用的是wsdl格式的,php用soap来对接
首先要说的是保险接口没有异步通知,就是说你下单成功了,他们不是立刻能够出保单,须要一会时间,这时候无法马上获取到保单号,须要调用“保单查询”接口去查,并且不能当即查,须要过一会以后去查才有。查的时候把保单信息放入数据库中。
注意事项
没有异步通知
同我的买不一样产品须要调用屡次购买接口,同个产品的保单明细能够放多我的,就是说一个产品要下一个单
附上机票接口请求封装代码(thinkphp5写的)