【门票对接】店铺门票业务系统直连接口文档

      引言

业务介绍

  马蜂窝旅行商城主要包括:自由行(机票+酒店)、当地游、签证邮轮跟团游门票定制等七大业务线。

  本文档主要对门票业务提供支持,包括当前门票业务下的“景区/场馆”、“节庆/嘉年华”、“游乐园”、“温泉票”、“滑雪票”、“通票/年票”、“船票”、“观光巴士票”八个二级品类


文档目的

  文档描述了马蜂窝开放平台对于门票业务订单提供的对接解决方案,帮助马蜂窝平台商家快速完成对接,包括用户下单和退款以及日录库存同步。

 (注:此文档适用于马蜂窝平台商家业务,不支持马蜂窝自营业务)

 

接入流程

          1、 以平台商家身份入驻马蜂窝旅行商城;

  2 完成马蜂窝开放平台接入申请,获取parter_id、client_secretase_key等接入参数;

  3、 参照文档完成接口开发;

  4、 与马蜂窝在线上环境进行接口测试和接口校验工作;

  5、 完成接入系统的信息,添加至马蜂窝开放平台业务;

  6、 以商家身份选择接入系统,正式启用接口对接;

 

名词解释

         商家:泛指已经入驻马蜂窝旅行商城的平台商家;

         接入系统:平台商家使用ERP系统,可能是商家自行研发系统或者是市面常见三方系统;如若是三方系统想直接接入,可以找寻平台商家提供支持或者联系马蜂窝门票业务申请测试商家账号;

   

  接口调用说明

 马蜂窝开放平台(MFWOpenDeals)API是基于HTTPs协议来调用的接口。开发者可以通过封装相应的请求以调用对应的API。具体加密的方法和解密的方法可以通过马蜂窝提供的SDK进行加工。以下是对封装请求的详细描述。

 

调用说明

调用流程

          根据马蜂窝定义的协议:

          1. 加密请求数据(data)

          2. 拼接请求基本字段内容

          3. 生成签名

          4. 发送HTTP请求

          5. 得到HTTP相应

          6. 解密数据

          7. 解析JSON结果

          调入接口

环境名称

请求地址(HTTPs)

请求方法

正式环境

https://openapi.mafengwo.cn/deals/rest

“POST (是用 multipart/form-data 编码方式,请求参数包含在请求体(Body)中)”

 

公共参数 

基础参数

       调用任何马蜂窝开放平台API的时候均需要携带基础参数,目前支持的公共参数为:

参数名

参数类型

必填

参数描述

partnerId

int

合作商家ID

action

string

API接口的动作名称

timestamp

string

请求发起的时间戳

nonce

string

随机串。具体如何产生随机串,请看“产生随机串”小节

data

string

业务接口请求数据(需要加密),具体如何加密请求数据,请看“加密请求数据”小节

sign

string

根据基础参数生成的数据签名。具体如何产生签名,请看“生成签名”小节

access_token

string

OAuth token。具体如何获取   Access Token 请看“获取Access Token”小节

file_data

file

此参数在涉及到文件上传的接口时为必填参数 ,其他接口不用传该参数

 

合作商加获取授权令牌(Access Token)

 马蜂窝的所有API请求最开始都需要经过OAuth的认证方式检验请求是否合法。所以所有的合作商家在请求接口之前需要持有在有效期内的 Access Token。

         授权URL :https://openapi.mafengwo.cn/oauth2/token

         HTTP请求方法: GET

         请求参数

参数名

参数类型

必填

参数值

参数描述

grant_type

string

client_credentials

固定值

client_id

string


分配给合作商户的ID

client_secret

string


分配给合作商户的Secret

         正常返回数据:

         返回格式:

参数名

类型

示例

描述

access_token

string

3a6312c6713bf06284f561240813b8a3

AccessToken

token_type

string

GET

请求的HTTP方法类型

expires_in

string

7200

Token 的有效期,单位为秒

{"access_token":"3a6312c6713bf06284f561240813b8a3","tokent_ype":"GET","expire_in":7200}

         异常返回数据:

         返回格式

参数名

类型

示例

描述

error

string

invalid_request

请求认证的异常原因

         异常列表

异常码

描述

invalid_request

grant_type 参数异常

invalid_client

client_id 参数异常

unauthorized_client

授权失败

         注:默认 Token 有效期为120分钟(7200秒)

         加密请求数据

 请求数据加密的原因是因为在合作供应商调用马蜂窝开放平台接口的时候,传递的数据均为敏感数据,如果是以不加密的方式传输的话,很容易被查看到。所以为了数据保密性,我们要求传输的数据也必须为密文传输。
具体的加密规则如下:

     1、AES256/CBC/PKCS7Padding 加密

     2、对AES加密数据进行一次base64编码

 生成签名

       在数据已经加密完成之后,我们需要对 partnerId、action、timestamp、key、nonce 和 data 字段进行合并,并对汇总后的字符串进行 MD5 加密。加密后的结果为本次请求的签名。

sign = MD5(partnerId + action + timestamp + key + nonce + data)

         注: key值为马蜂窝为合作商户分配的私钥,不做明文传输,请合作商户保管好此私钥。若开发人员不知道此私钥,请联系与马蜂窝开放平台的对接人员。此key可以参看马蜂窝后台“开放平台API”-“开发者配置”-“开发者参数” 中的 ase_key 一项。

 经过 md5 加密后的英文字符均应为小写字符,否则验证会不通过。示例:"PHP"字符加密后的结果为 2fec392304a5c23ac138da22847f9b7c

 

产生随机串

         随机串的生成规则为:

             1、 长度为16为字符串

             2、 字符串仅能包括 大小写英文字符、数字

         具体 PHP 的示例如下:

/**
* 随机生成字符串
* @param int $iMaxLength
* @return string 生成的字符串
*/
public function sGetRandomStr($iMaxLength = 16)
{
   $sRandom = '';
   $sPol = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz';
   for ($i = 0; $i < $iMaxLength; $i++) {
      $sRandom .= $sPol[mt_rand(0, 61)];
        }
   return $sRandom;
}

数据返回

         在请求马蜂窝开放平台的接口时,接口请求成功则会返回1000,并返回相应的数据。示例结构如下:

{
  "data":[],
  "errno" : 1000,
  "message" : "成功"
}

             ! 返回的数据也会经过加密,加密的方式与请求数据的 data 字段的加密方式相同,具体请看“加密请求数据”小节;

           异常列表

        但出现异常时,接口会返回异常码。若异常码为5位则为系统错误,其他情况为业务错误,系统错误列表如下:

错误码

描述

10001

签名验证失败

10002

时间戳异常或缺少时间戳参数

10003

缺少partnerId

10004

partnerId内容异常

10005

缺少签名参数

10006

异常签名参数

xwxw10007

缺少方法名参数

10008

异常方法名参数

10009

缺少Access Token参数

10010

异常Access Token参数

10013

缺少随机串

10014

随机串参数异常

10015

缺少数据字段

10016

无效数据格式

10020

未知商户

  流程介绍

订单同步流程说明

 

1、 马蜂窝在用户提交订单会对订单状态进行预校验工作,通过接口进行可订性检查对于未通过可订性检查的请求,不会完成订单的创建操作;

2、 用户在马蜂窝下单分为创建订单和支付订单两个部分完成订单创建之后,用户可在1小时内完成订单支付,超时未支付的订单会自动变更“已关闭”状态;用户也可以选择主动关闭未支付订单;

3、 商家回传的凭证信息(包括凭证码、二维码图片),马蜂窝在用户<订单详情>页面对凭证信息进行展示,商家需要按要求回传真实可用的凭证信息;

4、 对于马蜂窝景点门票业务订单,用户选择购买门票出行日期的第二天,订单会变更为“已完成”的状态;

 

   退款同步流程说明

     

 

             1、完成后的马蜂窝订单,目前有两个入口可发起退款,包括:用户在前详情页提交退款申请商家在商家后台主动发起退款请求;

     2商家在确认用户退款后,确认的退款单会进入马蜂窝财务退款流程,在完成给用户实际退款后,退款单状态会变更为已完成

    注:马蜂窝不会主动操作改变平台商家的订单或者退款单状态,对于通过接口调用完成的操作,会统一标记操作人为“open_system

 

1. 接口文档

1.1. 预校验接口

1.1.1. 接口名称

  门票订单信息预校验接口

1.1.2. Action

    sales.ticket.order.pre.check

1.1.3. 功能

    门票订单预校验

1.1.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_info

PreCheckOrder对象


订单详情


travel_people

TravelerPeople对象数组


出行人信息


 

1.1.5. 响应参数

参数名称

参数类型

示例

描述

备注

data

array




errno

int

1000

异常码

请参考那本节异常信息

message

string

订单检验成功

异常信息


 

1.1.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


10060030

虚拟账户余额不足


10060031

账户过期


10060032

规则校验失败


10060033

库存不足


10060034

产品已下线


10060035

当前日期没有价格日历


10060036

无此产品编码或产品编码错误


10060037

该手机号购买数量超过购买限制


10060038

该身份证购买数量超过购买限制


10060039

该身份证号不可购买此产品


10060043

出行人手机号不正确


10060046

预订人手机号不正确


 

1.1.7. 请求示例(加密前)


{

    "order_info": {

        "go_date": "2018-12-01",

        "sales_id": 2255710,

        "sales_name": "门票详情页测试02",

        "ota_sales_name": "",

        "sales_type": 91,

        "mdd": "北京",

        "from": "",

        "total_price": 0.02,

        "sku_id": 9685742,

        "ota_sku_id": "WBSJBM01",

        "booking_people": {

            "uid": 37037629,

            "name": "王小雨",

            "email": "",

            "phone_area": "0086",

            "phone": "12345678912",

            "wechat": ""

        },

        "skus": [{

            "sku_id": 9685742,

            "stock_name": "成人票",

            "ota_sku_id": "WBSJBM01"

        }],

        "items": [{

            "id": "S9685742D15",

            "sku_id": 9685742,

            "name": "成人票",

            "num": 1,

            "price": 0.02,

            "total_price": 0.02,

            "payment_fee": 0.02,

            "price_type": 5

        }]

    },

    "travel_people": [{

        "name": "王小雨",

        "cellphone": "12345678912",

        "wechat": " wechat ",

        "time": "2018/11/29",

        "tourists_number": "1",

        "luggage": "1",

        "estimated_travel_date": "2018-11-30"

    }]

}

1.1.8. 响应示例加密前)


{

    "errno": 1000,

    "data": [],

    "message": "订单检测成功"

}

  1.2. 创建订单接口

1.2.1. 接口名称

    门票订单信息预校验接口

1.2.2. Action

    sales.ticket.order.create

1.2.3. 功能

    门票订单创建通知接口。马蜂窝创建订单后会为合作商户推送订单创建信息。合作商户可以根据马蜂窝提供的信息生成订单。若订单创建成功后需要返回合作商户的订单唯一标示,后续订单相关操作都会携带此唯一标示。

    接口质量要求:连接时长 10S以内,请求处理时长20S以内。若超过此时长则算作订单创建未成功。

1.2.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_info

Order对象


订单详情


travel_people

Travel People Detail对象


出行人信息


 

1.2.5. 响应参数

参数名称

二级参数

参数类型

示例

描述

备注

data


array





partner_order_id

string

XXX-XXX

合作商户订单ID


errno


int

1000

异常码

请参考那本节异常信息

message


string

订单检验成功

异常信息


 

1.2.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


10060030

虚拟账户余额不足


10060031

账户过期


10060032

规则校验失败


10060033

库存不足


10060034

产品已下线


10060035

当前日期没有价格日历


10060036

无此产品编码或产品编码错误


10060037

该手机号购买数量超过购买限制


10060038

该身份证购买数量超过购买限制


10060039

该身份证号不可购买此产品


10060043

出行人手机号不正确


10060046

预订人手机号不正确


 

1.2.7. 请求示例(加密前)

{

    "order_info":

    {

        "order_id": "27430552018120411821900",

        "go_date": "2018-12-04",

        "booking_people":

        {

            "uid": 65159770,

            "name": "孙腾达",

            "email": "",

            "phone": "13501059879",

            "phone_area": 86,

            "wechat": ""

        },

        "sales_id": 2743055,

        "sales_name": "lxx-公园嘉年华yu",

        "ota_sales_name": "0",

        "sales_type": 90,

        "mdd": "北京",

        "from": null,

        "skus": [

        {

            "stock_name": "游乐园 成人票 四日票",

            "ota_sku_id": "TEST_001",

            "sku_id": 11405970

        }],

        "total_price": "0.05",

        "items": [

        {

            "id": "S11405970D15",

            "name": "门票",

            "num": 1,

            "price": 0.05,

            "total_price": 0.05,

            "payment_fee": 0.05,

            "sku_id": 11405970,

            "price_type": 5

        }],

        "promotion_detail":

        {

            "reduce_mfw": 0,

            "reduce_ota": 0

        }

    },

    "travel_people":

    {

        "order_id": "27430552018120411821900",

        "travel_people":

        {

            "traveler": [

            {

                "name": "孙腾达",

                "id_card": "370123198802276210",

                "id_type": "身份证",

                "passport": "",

                "cellphone": "13501059879",

                "traveler_id": 2557825

            }],

            "trip":

            {},

            "ts_address":

            {},

            "address":

            {}

        }

    }

}


1.2.8. 
响应示例(加密前)

{

    "errno": 1000,

    "data":

    {

        "partner_order_id": 12323123

    },

    "message": "订单创建成功"

}


  1.3. 
订单支付通知接口

1.3.1. 接口名称

   订单支付通知接口

1.3.2. Action

    sales.ticket.order.pay.notice

1.3.3. 功能

    用户在支付完成后会为合作商户推送用户已支付信息。

    合作商户可以采取两种出单的方式:

同步出单:通过请求返回值的形式返回出单信息。(本请求的超时时间为30秒,若超时则判断为异步出单。请合作商户控制出单时间。)

异步出单:当前请求返回对应的异常信息,并在出单完成后调用异步出单接口进行出单

     补偿机制:若推送完订单支付通知后(响应返回出票中10060041】的异常),若10分钟内还没有出单,马蜂窝会主动拉取一次订单出单信息,以完成订单的出单操作。合作商户不得完全依靠此机制处理出单,此补偿机制仅仅为避免小概率网络问题而设定。

1.3.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


partner_order_id

string

XXX-XXX

合作商户订单ID


 

1.3.5. 响应参数

参数名称

二级参数名称

参数类型

示例

描述

备注

data







partner_order_id






order_id






ticket_vouchers

Voucher 对象




errno


int

1000

异常码

请参考那本节异常信息

message


string

订单检验成功

异常信息


 

1.3.6. 异常信息

异常码

异常描述

说明

1000

订单出票成功


10060041

出票中


 

1.3.7. 请求示例(加密前)

{

    "order_id": "2124976201711275278834",

    "partner_order_id": "XXX-XXX",

}


1.3.8. 
响应示例(加密前)

{

    "errno": 1000,

    "data":

    {

        "order_id": "2124976201711275278834",

        "partner_order_id": "XXX-XXX",

        "ticket_vouchers": [

        {

            "ota_sku_id": 19994060,

            "sku_id": 19994060,

            "type": 2,

            "quantity": 1,

            "vouchers": [

            {

                "voucher": 92852665,

                "voucher_pic": "",

                "status": 1

            }]

        }]

    },

    "message": "出单成功"

}


  1.4. 
出单信息拉取接口

1.4.1. 接口名称

   拉取订单出票信息

1.4.2. Action

    sales.ticket.order.voucher.get

1.4.3. 功能

    订单出票的补偿机制。具体描述请看订单支付通知接口

1.4.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


partner_order_id

string

XXX-XXX

合作商户订单ID


 

1.4.5. 响应参数

参数名称

二级参数名称

参数类型

示例

描述

备注

data







partner_order_id






order_id






ticket_vouchers

Voucher 对象数组




errno


int

1000

异常码

请参考那本节异常信息

message


string

订单检验成功

异常信息


 

1.4.6. 异常信息

异常码

异常描述

说明

1000

订单出票成功


10060041

出票中


 

1.4.7. 请求示例(加密前)

{

    "order_id": "2124976201711275278834",

    "partner_order_id": "XXX-XXX",

}


1.4.8. 
响应示例(加密前)

 

{

    "errno": 1000,

    "data":

    {

        "order_id": "2124976201711275278834",

        "partner_order_id": "XXX-XXX",

        "ticket_vouchers": [

        {

            "ota_sku_id": 19994060,

            "sku_id": 19994060,

            "type": 2,

            "quantity": 1,

            "vouchers": [

            {

                "voucher": 92852665,

                "voucher_pic": "",

                "status": ""

            }]

        }]

    },

    "message": "出单成功"

}


  1.5. 
异步出票接口

1.5.1. 接口名称

    订单出票接口

1.5.2. Action

    sales.ticket.order.status.update

1.5.3. 功能

    此接口主要完成两步操作:
         1)将订单从已支付已确认状态变更为已出单状态;
         2)回传用于核销的凭证码信息;
    注意:

                 调用此接口会直接将订单变更为出单状态,即同时完成已联系用户并确认库存(12已发确认单(13两步状态变更;若商家需要完成已联系用户并确认库存(12状态的单独变更,请调用已有的接口actionsales.order.status.update 
                 现有接口actionsales.order.status.update 仍然支持对景点门票订单更新状态态,但是调用此接口修改订单状态为已发确认单(13时,将无法完成后续的核销流程;
                 请商家传递真实有效的凭证码信息,此凭证码将在前台页向客人进行展示,若商家没有真实有效的凭证码,需按照vouchers的结构回传空字符串;马蜂窝将根据voucher_type的取值向商家返回马蜂窝生成的凭证码,供商家核销使用;

 

1.5.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


memo

string


出单备注


ticket_vouchers

Voucher 对象数组


票务信息


 

1.5.5. 响应参数

参数名称

参数类型

示例

描述

备注

data

array




errno

int

1000

异常码

请参考那本节异常信息

message

string

订单检验成功

异常信息


 

1.5.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


10060001

当前订单不是门票订单


10060002

参数格式错误


10060003

添加核销信息失败


10060004

没有操作权限


10060005

超过单次更新最大数量限制(30)


10060006

更新检查失败


10060007

更新失败


10060009

凭证码类型不正确


10060010

凭证码数量有误


10060011

凭证码状态有误


10060012

订单号与SKU_ID不匹配


10060013

传入数量与用户购买数量不匹配


10060014

SKU_ID重复添加


10060015

订单号异常


10060016

订单出行日期有误


10060017

订单状态异常


10060018

没有操作权限


10060019

订单账号异常


10060020

订单信息有误


10060021

核销参数结构错误


10060022

核销码长度不能超过20


10060023

出单失败(出行人信息待补充)


10060024

操作频繁,稍后再试


10060025

quantity数量与购买数量不匹配


10060029

核销图片数量异常


 

1.5.7. 请求示例(加密前)

{

    "order_id": "27430552018120411828102",

    "memo": "邮件已发送",

    "ticket_vouchers": [

    {

        "sku_id": "11405970",

        "ota_sku_id": "TEST_001",

        "type": 1,

        "vouchers": [

        {

            "status": 1

        },

        {

            "status": 1

        }]

    }]

}


1.5.8. 
响应示例(加密前)

{

    "errno": 1000,

    "data": [],

    "message": "成功"

}


  1.6. 
订单完成接口

1.6.1. 接口名称

   订单完成通知接口

1.6.2. Action

    sales.ticket.order.finish.notice

1.6.3. 功能

   订单完成时会为合作商户推送订单完成通知。此通知与核销状态无关,仅表示马蜂窝订单的关闭状态。

1.6.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


partner_order_id

string

XXX-XXX

合作商户订单ID


 

1.6.5. 响应参数

参数名称

参数类型

示例

描述

备注

data

array




errno

int

1000

异常码

请参考那本节异常信息

message

string

订单检验成功

异常信息


 

1.6.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


 

1.6.7. 请求示例(加密前)

{

    "order_id": "2124976201711275278834",

    "partner_order_id": "XXX-XXX"

}


1.6.8. 
响应示例(加密前)

{

    "errno": 1000,

    "data": [],

    "message": "成功"

}


  1.7. 订单关闭接口

1.7.1. 接口名称

   订单关闭通知接口

1.7.2. Action

    sales.ticket.order.close.notice

1.7.3. 功能

   订单超时未支付时马蜂窝订单会变为“订单关闭”状态,此时会为合作商户推送相关信息

1.7.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


partner_order_id

string

XXX-XXX

合作商户订单ID


 

1.7.5. 响应参数

参数名称

参数类型

示例

描述

备注

data

array




errno

int

1000

异常码

请参考那本节异常信息

message

string

订单检验成功

异常信息


 

1.7.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


 

1.7.7. 请求示例(加密前)

{

    "order_id": "2124976201711275278834",

    "partner_order_id": "XXX-XXX"

}


1.7.8. 
响应示例(加密前)

{

    "errno": 1000,

    "data": [],

    "message": "成功"

}


  1.8. 
核销通知接口

1.8.1. 接口名称

   马蜂窝订单核销通知接口

1.8.2. Action

     sales.ticket.consume.notice

1.8.3. 功能

   此接口用于商家更新订单下凭证码的状态,商家可在门票已使用、订单已完成退款时通过此接口修改凭证码状态。马蜂窝订单将根据凭证码的状态来控制客人在前台的退款单申请;
                1) 一码一验订单,用户在提交退款申请时系统将校验每个码的核销状态,SKU可申请退款数量 <SKU总数量-已使用或已退款的SKU数量;
                2) 一码多验订单,直接根据SKU关联的唯一验证码进行识别,如果SKU对应的凭证码状态为 已退款或者已使用,则用户端不可申请退款;

   具体请求参数与响应格式请参看:http://open.mafengwo.cn/docs/api/174.html

  1.9. 核销一码多验接口

1.9.1. 接口名称

   马蜂窝订单核销一码多验数量状态更新接口

1.9.2. Action

     sales.ticket.quantity.update

1.9.3. 功能

   此接口用于商家更新一码多验门票订单下凭证码的各状态数量,商家可在门票发生次数使用、完成次数退订时通过此接口修改凭证码不同状态的数量;
                1调用此接口需要回传全量的数量状态,如一个订单5张票,其中4张未使用,1张已使用,则需回传:not_used_quantity: 4, used_quantity: 1, refunded_quantity: 0
                2数量状态包括:未使用已使用已退款三个状态,状态变更不可逆,如不能将已退款变更为已使用未使用

   具体请求参数与响应格式请参看:http://open.mafengwo.cn/docs/api/226.html

  1.10. 退款通知接口

1.10.1. 接口名称

   退款通知接口

1.10.2. Action

    sales.ticket.refund.apply

1.10.3. 功能

   退款的发起时会为合作商户推送申请退款的通知。

   推送时机:

用户发起退款申请

合作商户或订单管理员在后台发起退款申请

     !!注意:当前接口并不支持同步退款。若同意或拒绝退款则需要通过调用异步接口。后续会开放同步退款和自动退款的功能。

             同意退款/拒绝退款

1.10.4. 请求参数

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


partner_order_id

string

XXX-XXX

合作商户订单ID


reason

int


退款原因。

商家提交的退款信息客人可见。 20:其他原因 21:行程有变 22:供应商无货了 23:数量排错了

refund_id

int

123456

退款单ID


refund_remark

Remark 对象数组


退款备注


total_price

float


订单总金额


payment_fee

float


订单支付金额


refund_fee

float


订单退款金额


refunded_items

Item 对象数组


已退购买项数组


refunding_items

Item 对象数组


正在退款购买项数组


refunded_travelers

Object数组


已退出行人数组


refunding_travelers

Object数组


正在退款出行人数组


items

Item 对象数组


购买项数组


travelers

Traveler People 对象数组


出行人数组


 

1.10.5. 响应参数

参数名称

参数类型

示例

描述

备注

data

array




errno

int

1000

异常码

请参考那本节异常信息

message

string

订单检验成功

异常信息


 

1.10.6. 异常信息

异常码

异常描述

说明

1000

订单校验成功


 

1.10.7. 请求示例(加密前)

{

    "order_id": "2255723201811193953448",

    "partner_order_id": "123456789",

    "reason": 21,

    "refund_id": 12315,

    "refund_remark": [

    {

        "uid": 111,

        "remark": "申请退款",

        "ctime": "2017-12-15 12:00:00"

    },

    {

        "uid": 111,

        "remark": "申请退款",

        "ctime": "2017-12-15 12:00:00"

    }],

    "total_price": "123.00",

    "payment_fee": "111",

    "refund_fee": "222",

    "refunded_items": [

    {

        "id": 1,

        "name": "儿童",

        "num": 1,

        "refund_sold": 1,

        "refund_fee ": 1,

    }],

    "refunding_items": [

    {

        "id": 1,

        "name": "儿童",

        "num": 1,

        "refund_sold": 1,

        "refund_fee ": 1,


    }],

    "refunded_travelers": [

    {

        "traveler_id": 11489

    }],

    "refunding_travelers": [

    {

        "traveler_id": 11489

    }],

    "items": [

    {

        "id": 1,

        "name": "儿童",

        "num": 1,

        "price": 1,

        "total_price": 1,

        "type": 1

    }],

    "travelers": [

    {

        "name": "孙腾达",

        "id_card": "370123198802276210",

        "passport": "",

        "cellphone": "13501059879",

        "traveler_id": 2557825

    }]

}


1.10.8. 响应示例(加密前)

{

    "errno": 1000,

    "data": [],

    "message": "成功"

}


  2. 附录

2.1. PreCheckOrder对象(预校验订单详情)

参数名称

参数类型

示例

描述

备注

sales_id

int

2255710

马蜂窝产品ID


sales_name

string

门票详情页测试02

马蜂窝产品名称


ota_sales_name

string

大门票+钟表馆+珍宝馆

外部产品名称


sales_type

int

11

马蜂窝产品品类 ID


mdd

string

北京

目的地名称


from

string


出发地

此字段默认为空

total_price

float

100

订单总金额


sku_id

int

9685742

主库存ID


ota_sku_id

string

WBSJBM01

主库存外部商家编码


booking_people

BookingPeople 对象


预订人信息


go_date

string

2020-10-10

使用日期


skus

Sku 对象数组


全部库存信息


items

Item 对象数组


全部购买项信息


2.2. Order对象(订单详情)

参数名称

参数类型

示例

描述

备注

order_id

string

2124976201711275278834

马蜂窝订单ID


sales_id

int

2255710

马蜂窝产品ID


sales_name

string

门票详情页测试02

马蜂窝产品名称


ota_sales_name

string

大门票+钟表馆+珍宝馆

外部产品名称


sales_type

int

11

马蜂窝产品品类 ID


mdd

string

北京

目的地名称


from

string


出发地

此字段默认为空

booking_people

BookingPeople 对象


预订人信息


skus

Sku 对象数组


全部库存信息


items

Item 对象数组


全部购买项信息


total_price

float

200.0

订单总金额


promotion_detail

Promotion 对象


订单优惠信息


 

2.3. Traveler People 对象(出行人信息)

参数名称

参数类型

示例

描述

备注

name

string

羊儿

姓名


cellphone

string

15811795997

手机号


id_card

string


证件编码


id_type

string

身份证

证件类型

身份证,

date_of_expiry

string

2020-04-20

证件有效期


gender

string

(male)

性别


 

2.4. Traveler People Detail对象(出行人详细信息)

参数名称

子参数名称

参数类型

示例

描述

备注

order_id


string

2124976201711275278834

订单ID


travel_people


object





traveler

Traveler People 对象数组


出行人信息



trip



行程信息



ts_address



送达地址信息



address



地址信息


 

2.5. BookingPeole 对象(预订人信息)

参数名称

参数类型

示例

描述

备注

uid

int

37037629

马蜂窝用户ID


name

string

王小雨

预订人名称


email

string

open@mafengwo.cn

预订人邮箱


phone

string

12345678912

预订人手机号


wechat

string

12345678912

预订人微信


phone_area

string

0086

预订人手机号区号


 

2.6. Sku 对象(库存信息)

参数名称

参数类型

示例

描述

备注

sku_id

int

9685742

马蜂窝库存ID


ota_sku_id

string

WBSJBM01

外部商家编码


stock_name

string

大门票

马蜂窝库存名称


 

2.7. Item 对象(购买项信息)

参数名称

参数类型

示例

描述

备注

id

string

S9685742D15

购买项ID


sku_id

int

9685742

马蜂窝库存ID


name

string

门票

购买项名称


num

int

2

本项购买项购买个数


price

float

100

本项购买项单价


total_price

float

200

本相购买项总金额

未减去优惠的金额

payment_fee

float

200

本相购买项总需支付金额

减去优惠后的金额

type

int

5

购买项类型


2.8. Promotion 对象(优惠信息)

参数名称

参数类型

示例

描述

备注

reduce_mfw

float

10.0

马蜂窝补贴金额

单位:元

reduce_ota

float

5.0

商家补贴金额

单位:元

 

2.9. Voucher对象(票务码信息

参数名称

二级参数名称

参数类型

示例

描述

备注

sku_id


int

4158741254

库存ID


ota_sku_id


string

XXX-XXX

外部商家编码


type


int

1

票务类型

1-一码一验,一个库存对应一个凭证码;

2-一码多验,多个库存对应一个凭证码;

quantity


int

1数量一码多验必须传数量,一码一验可不传

vouchers


array





status

int


凭证状态

1-未使用

2-已使用

3-已退款

4-已废弃(对应的门票还未消费,但是此凭证码作废了);


voucher

string


凭证码

凭证码长度需不能大于22个字符


voucher_pic

string


图片码凭证

传图片链接地址, 有多个时,顺序必须与vouchers的顺序一致,马蜂窝将以此顺序与voucher顺序进行一一对应;


2.10. Remark对象(备注信息

参数名称

参数类型

示例

描述

备注

remark

string


备注信息


uid

int


马蜂窝用户UID


ctime

string


添加时间


 

         >>点此下载本文档<<

赞同0

马蜂窝旅游小管家
为您免费提供目的地旅游咨询服务
出行基本信息
联系人信息
换一换
返回顶部
意见反馈
页面底部