线下票免(12306)账号购票下单接口。
重要说明:
遇到卧铺传下铺价格、儿童票传成人票的价格,,,平台先按照最高票价预收,如果最终实际出票金额低于预收金额,平台将自动退差。
下单成功后请及时支付,新订单30分钟未支付订单将自动取消。
请商户严格按照该预订流程对接,不然会存在:无效订单占比过高(即:只下单不支付的单子),接口账户被系统自动封禁的风险。
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
appKey | string | 是 | 您申请的APPKEY |
customerOrderNo | string | 是 | 采购商的订单号 |
contactName | string | 是 | 订单联系人姓名 |
contactMobile | string | 是 | 订单联系人手机号 |
callBackUrl | string | 是 | 出票结果回调地址(出票成功/失败时,将通过此地址回调给采购商,回调详见:订单状态推送通知说明) |
refundTicketCallbackUrl | string | 是 | 退票结果回调地址(退票成功/失败时,将通过此地址回调给采购商,回调详见:订单状态推送通知说明) |
refundMoneyCallbackUrl | string | 是 | 退款回调地址(退款时,将通过此地址回调给采购商,回调详见:订单状态推送通知说明) |
trainSegments | TrainSegment[] | 是 | 行程信息,支持联程(单程时该数组长度就是1,联程是就是2) |
trainCode | string | 是 | 车次号 |
fromStation | string | 是 | 出发站 |
toStation | string | 是 | 到达站 |
fromDateTime | string | 是 | 出发日期及时间,精确到分钟,格式:yyyy-MM-dd HH:mm,如:2025-01-15 06:02 |
toDateTime | string | 是 | 到达日期及时间,精确到分钟,格式:yyyy-MM-dd HH:mm,如:2025-01-15 06:02 |
isAcceptStanding | bool | 是 | 是否接受无座,默认不接收 |
passengers | Passenger[] | 是 | 乘客信息 |
name | string | 是 | 乘客姓名 |
cardType | int | 是 | 证件类型( 身份证 = 1,护照 = 2, 港澳居民来往内地通行证 = 3 , 台湾居民来往大陆通行证 = 4 ,外国人永久居留身份证 = 8 ,港澳台居民居住证 = 9 ) |
cardNo | string | 是 | 证件号码 |
mobile | string | 是 | 手机号 |
ticketType | int | 是 | 火车票票种( 成人票 = 1,儿童票 = 2, 学生票 = 3, 残军票 = 4) |
seatType | int | 是 | 席别类型(商务座 = 1,特等座 = 2,一等座 = 3,二等座 = 4,高级软卧 = 5,软卧 = 6,动卧 = 7 ,硬卧 = 8,软座 = 9,硬座 = 10,一等卧 = 11,二等卧 = 12,高级动卧 = 13, 一等软座 = 14 , 二等软座 = 15, 特等软座 = 16, 包厢硬卧 = 17, 一人软包 = 18, 多功能座 = 19, 无座 =98,其他 = 99) |
preTicketPrice | decimal | 是 | 预收票价( 卧铺时传最高的下铺票价,儿童/学生/参军票时传成人票价 ) |
参数名称 | 类型 | 说明 |
---|---|---|
success | bool | 下单结果(非出票结果),true:下单成功,false下单失败 |
msg | string | 下单失败时,失败原因 |
data | object | 业务参数(success为true时才有值,false时为null) |
orderNo | string | 订单号 |
totalPreTicketPriceAmount | decimal | 订单中所有乘客的预收票价(下单请求参数中preTicketPrice字段)之和(余额支付时,将按照此金额收取。如果最终实际总出票价大于此值将会被拒单出票失败,小于此值时,出票成功后将自动退还多收取的票差) |
单程下单请求示例: { "appKey": "您申请的APPKEY", "customerOrderNo": "2025011022150473", "contactName": "张三", "contactMobile": "13912345678", "callBackUrl": "https://xxxxxx/outTicketResultCallback", "refundTicketCallbackUrl": "https://xxxxxx/refundTicketResultCallback", "refundMoneyCallbackUrl": "https://xxxxxx/refundMoneyCallback", "trainSegments": [ { "trainCode": "K1158", "fromStation": "合肥", "toStation": "蚌埠", "fromDateTime": "2025-01-15 06:02", "toDateTime": "2025-01-15 08:15", "isAcceptStanding": false, "isAcceptOtherSeat": false, "passengers": [ { "name": "张三", "cardType": "1", "cardNo": "340123197209183099", "mobile": "13912345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 }, { "name": "李四", "cardType": "1", "cardNo": "441721198812150039", "mobile": "13912345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 }, { "name": "王二", "cardType": "1", "cardNo": "620821200112042422", "mobile": "13912345670", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 } ] } ] } 联程下单请求示例: { "appKey": "您申请的APPKEY", "customerOrderNo": "2025011022150485", "contactName": "张三", "contactMobile": "13912345678", "callBackUrl": "https://xxxxxx/outTicketResultCallback", "refundTicketCallbackUrl": "https://xxxxxx/refundTicketResultCallback", "refundMoneyCallbackUrl": "https://xxxxxx/refundMoneyCallback", "trainSegments": [ { "trainCode": "K1158", "fromStation": "合肥", "toStation": "蚌埠", "fromDateTime": "2025-01-15 06:02", "toDateTime": "2025-01-15 08:15", "isAcceptStanding": false, "isAcceptOtherSeat": false, "passengers": [ { "name": "张三", "cardType": "1", "cardNo": "340123197209183099", "mobile": "13912345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 }, { "name": "李四", "cardType": "1", "cardNo": "441721198812150039", "mobile": "13912345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 }, { "name": "王二", "cardType": "1", "cardNo": "620821200112042422", "mobile": "13912345670", "ticketType": 1, "seatType": 8, "preTicketPrice": 77.5 } ] }, { "trainCode": "K1276", "fromStation": "蚌埠", "toStation": "呼和浩特", "fromDateTime": "2025-01-15 16:45", "toDateTime": "2025-01-16 19:08", "isAcceptStanding": false, "isAcceptOtherSeat": false, "passengers": [ { "name": "张三", "cardType": "1", "cardNo": "340123197209183099", "mobile": "13912345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 343.5 }, { "name": "李四", "cardType": "1", "cardNo": "441721198812150039", "mobile": "13812345678", "ticketType": 1, "seatType": 8, "preTicketPrice": 343.5 }, { "name": "王二", "cardType": "1", "cardNo": "620821200112042422", "mobile": "13812345679", "ticketType": 1, "seatType": 8, "preTicketPrice": 343.5 } ] } ] }
下单成功示例: { "data": { "orderNo": "TX25011213525343937", "totalPreTicketPriceAmount": 232.5 }, "success": true, "msg": "请求成功" } 下单失败示例: { "data": null, "success": false, "msg": "火车票票款余额不足,当前账户火车票票款余额:8.51小于订单票款总金额:232.5" }