基础 qianmi.elife.train.order.pay(支付火车票订单)

支付预定过的火车票订单:
1.支付需在预定成功后半小时内完成,否则自动取消预定。
2.支付状态前提:预定完成(state-2),未支付(billstate-0)且发车时间未过期。
 公共参数
请求地址:
环境 HTTP请求地址 HTTPS请求地址
正式环境 http://api.bm001.com/api https://api.bm001.com/api
系统级请求参数:
名称 类型 是否必须 描述
methodString 必须 API接口名称
access_tokenString 必须 接入码,获取方式:登录直销商系统(sale.bm001.com),进入“数据中心” > “开发工具”。
vString 必须 API协议版本,当前可选值:1.1
signString 必须 API输入参数签名结果
timestampString 必须 请求时间戳,时区为GMT+8(北京时间),格式:"yyyy-MM-dd HH:mm:ss",例如"2012-12-20 10:20:35",开放平台允许客户端请求的最大时间误差为10分钟
 业务参数
名称 类型 是否必须 示例值 默认值 描述
tradeNoString 必须 T141218161001726 订单编号
 请求示例
OpenClient client = new DefaultOpenClient(url, appKey, appSecret);
TrainOrderPayRequest req = new TrainOrderPayRequest();
req.setTradeNo("T12255556554445");
TrainOrderPayResponse response = client.execute(req, accessToken);
$client = new OpenClient;
$client->appKey = appKey;
$client->appSecret = appSecret;
$req = new TrainOrderPayRequest;
$req->setTradeNo("T12255556554445");
$res = $client->execute($req, $accessToken);
IOpenClient client = new DefaultOpenClient(url, appKey, appSecret);
TrainOrderPayRequest req = new TrainOrderPayRequest();
req.TradeNo = "T12255556554445";
TrainOrderPayResponse response = client.Execute(req, accessToken);
 响应参数
名称 类型 示例值 描述
ticketTrade TicketTrade 1 订单详情
 响应示例

JSON数据格式:

 异常示例

JSON数据格式:

 {
    "errorToken": "@@$-ERROR_TOKEN$-@@",
    "code": "33",
    "message": "非法的参数",
    "solution": "请查看根据服务接口对参数格式的要求",
    "subErrors": [{
      "code": "isv.invalid-paramete:XXXX",
      "message": "参数XXXX无效,格式不对、非法值、越界等"
    }]
  }
 错误码
错误码 错误描述 解决方案
isv.qianmi-elife-train-order-pay-service-error:00059001传入参数错误检查入参
isv.qianmi-elife-train-order-pay-service-error:00059002传入参数为空检查入参
isv.qianmi-elife-train-order-pay-service-error:00050609传获取货源信息为空检查商品与货源
isv.qianmi-elife-train-order-pay-service-error:00050701交易订单支付异常订单状态,账户余额
isv.qianmi-elife-train-order-pay-service-error:00051021交易订单状态不是已预订,无法支付,请确认订单状态交易订单状态不是已预订,无法支付,请确认订单状态
isv.qianmi-elife-train-order-pay-service-error:00051006交易订单支付用户与订单买家用户不符检查订单号是否有误
isv.qianmi-elife-train-order-pay-service-error:00050704订单不存在检查订单号
isv.qianmi-elife-train-order-pay-service-error:00050707保险订单不存在保险订单不存在,检查保险单号
isv.qianmi-elife-train-order-pay-service-error:00059000系统异常检查环境是否有问题
isv.qianmi-elife-train-order-pay-service-error:00050703账户余额不足充值余额
isv.qianmi-elife-train-order-pay-service-error:00051017火车支付出现网络异常,请调用查询订单接口确认最终状态调用查询订单接口确认最终状态
 FAQ
Q:为什么调支付接口返回交易订单状态不是已预定,无法支付?
A:票务订单一般流程是先下单预定,只有预定成功的订单(主单TicketTrade中state=2)的订单才需要支付,对于已取消的订单,因为预定都没有成功,所以是不需要支付的。
Q:为什么火车票在预定完成以后,过段时间会变成已取消?
A:火车票预定完成以后,请在30分钟内调用支付接口,完成支付,否则订单将会取消。必须要重新下单
Q:调用出现服务不可用或超时错误该怎么处理?
A:支付订单接口时会返回服务不可用或超时错误,返回这类错误不能确定订单的成功失败,建议调用查询接口确认订单状态,避免不必要的损失(此类问题造成的损失斑马开放平台概不负责)。