tt.createOrder
收藏我的收藏
提供开发者交易系统中预下单能力,开发者通过调用该方法生成订单后,会调起小程序收银台进行支付。
使用限制
最低支持版本上注明行业 SDK ,表示仅在行业 SDK 上才支持,需要在代码中配置行业 SDK 的权限:行业 SDK 的权限配置。当完成行业 SDK 的权限配置后,可通过 tt.canIUse('createOrder') 判断该 API 是否可用。
语法
tt.createOrder(options);
参数说明
options 为 object 类型,属性如下:
- •针对旧版本开发者,保留支持 goodsList 下单(此场景 skuList 必须为空),新接入开发者推荐使用 skuList 下单(此场景 goodsList 必须为空)
- •goodsList 和 skuList 不能同时为空;
- •全融合版(非预约品)需使用goodsList下单,全融合版(预约品)需使用skuList下单;
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
goodsList | Goods[] Goods说明见下文 | | 是 | 下单商品 注意:目前仅支持单 SPU 商品下单 | 2.51.0.0 |
skuList | Sku[] Sku说明见下文 | | 否 | 下单商品信息(新) (skuList目前只支持单个sku) | 2.67.0.0 |
bookInfo | BookInfo BookInfo说明见下文 | | 否 | 预约信息 | 2.67.0.0 |
payment | Payment Payment说明见下文 | | 是 | 订单支付信息 | 2.51.0.0 |
contactInfo | ContactInfo ContactInfo说明见下文 | | 否 | 联系信息 | 2.51.0.0 |
storeInfo | StoreInfo StoreInfo说明见下文 | | 否 | 商店信息 | 2.51.0.0 |
note | string | | 否 | 订单备注 | 2.51.0.0 |
callbackData | Object | | 否 | 2.51.0.0 | |
tradeOption | Object | | 否 | 2.74.0.0 | |
callbackUrl | string | | 否 | 开发者自定义的预下单回调 URL(仅账号融合支持,完全融合不生效) | 2.65.0.0 |
discountInfo | DiscountInfo DiscountInfo说明见下文 | | 否 | 折扣营销算价信息 | 2.52.0.3 |
discountId | string | | 否 | 折扣营销算价信息 ID(若同时存在 discountInfo 和 discountId 时,优先使用 discountId 对应的营销算价信息)
| 2.52.0.3 |
poiId | string | | 否 | 门店id,取值优先级:poiId > 货架/直播间的poiId > deliveryInfo里的poiId | |
businessLine | number | 1 | 否 | 业务线
| 2.52.0.3 |
deliveryInfo | DeliveryInfo DeliveryInfo 说明在下文 | | 否(businessLine = 3 时,必填) | 配送信息 | 行业 SDK |
addressInfo | AddressInfo AddressInfo 说明见下文 | | 否(businessLine = 3 ,必填) | 地址信息 | 行业 SDK |
success | Function | | 否 | 接口调用成功的回调函数 | |
fail | Function | | 否 | 接口调用失败的回调函数 | |
complete | Function | | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | |
Goods
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
quantity | number | | 是 | 购买数量 | 2.51.0.0 |
price | number | | 是 | 商品价格 | 2.51.0.0 |
goodsName | string | | 是 | 商品名称 | 2.51.0.0 |
goodsPhoto | string | | 是 | 商品图片 | 2.51.0.0 |
goodsId | string | | 是 | 商品ID | 2.51.0.0 |
goodsType | number | | 是 | 商品类型
| 2.51.0.0 |
discountAmount | number | | 否 | 折扣金额 | 2.67.0.0 |
goodsPage | object | | 否 | 商详页路径 | 2.67.0.0 |
goodsLabels | string[] | | 否 | 商品标签 | 2.51.0.0 |
dateRule | string | | 否 | 使用规则 | 2.51.0.0 |
goodsBookInfo | GoodsBookInfo | | 否 | 预约信息
| 2.57.4.0 |
merchantId | string | | 否 | 商户id(不同goods需指定同一个merchantId) | 2.51.0.0 |
goodsPage
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
path | string | -- | 是 | 商品详情页跳转路径,没有前导的“/”,长度 <= 512byte 示例:pages/xxxindexxx | 2.57.4.0 |
params | string | -- | 否 | 商品详情页路径参数,自定义的 json 结构,序列化成字符串存入该字段,平台不限制,但是写入的内容需要能够保证生成访问订单详情的 schema 能正确跳转到小程序内部的订单详情页,长度 <= 512byte 示例:{\"id\":\"xxxxxx\"} | 2.57.4.0 |
GoodsBookInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
bookType | number | -- | 是 | 预约类型:
| 2.57.4.0 |
cancelPolicy | number | -- | 否 | 取消政策:
需要预约,此字段必传;不需要预约,此字段不填 | 2.57.4.0 |
advancedCancelHours | number | -- | 否 | 提前取消的小时限制(距离预约结束时间),cancelPolicy为 3 时有效 | 2.69.0.5 |
Sku
- •sku 为商品库商品,对应的 goods 必须是商品库
- •sku 为商品库商品,goodsInfo 可以不传
- •sku 为非商品库商品,需要传 goodsInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
quantity | number | | 是 | 购买数量 | 2.67.0.0 |
skuId | string | | 是 | sku商品id | 2.67.0.0 |
skuType | number | | 是 | sku商品类型
| 2.67.0.0 |
price | number | | 否 | 价格(到综预约链路,该参数必填) | 2.67.0.0 |
discountAmount | number | | 否 | 折扣金额 | 2.67.0.0 |
goodsInfo | GoodsInfo GoodsInfo说明见下文 | | 否 | 商品信息 | 2.67.0.0 |
extraInfo | ExtraInfo ExtraInfo说明见下文 | | 否 | sku 额外商品属性 | 2.67.0.0 |
GoodsInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
goodsName | string | | 是 | 商品名称字段长度为 1~256 字节 | 2.67.0.0 |
goodsPhoto | string | | 是 | 商品图片 | 2.67.0.0 |
goodsId | string | | 是 | 商品ID | 2.67.0.0 |
goodsType | number | | 是 | 商品类型:
| 2.67.0.0 |
goodsSubTitle | string | | 否 | 商品副标题 | 2.67.0.0 |
goodsPage | object | | 否 | 商详页路径 | 2.67.0.0 |
goodsLabels | string[] | | 否 | 商品标签 | 2.67.0.0 |
dateRule | string | | 否 | 使用规则 | 2.67.0.0 |
goodsBookInfo | object | | 否 | 预约信息 | 2.67.0.0 |
merchantId | string | | 否 | 商户id(不同goods需指定同一个merchantId) | |
ExtraInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
ticketName | string | | 否(非POI商品库的门票类SKU必传) | 门票票种 | 2.67.0.0 |
date | string | | 否(非POI商品库的门票类SKU必传) | 日期,示例 2022-01-10,现在仅支持天 | 2.67.0.0 |
extSkuRule | string | | 否 | 三方自定义SKU规则,数据拓展点透传三方不落地 | |
Payment
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
totalAmount | number | | 是 | 订单总价 | 2.51.0.0 |
totalDiscountAmount | number | | 否 | 订单总折扣 | 2.52.0.3 |
feeDetailsList | FeeDetailsInfo[] FeeDetailsInfo 说明见下文 | | 否(存在额外费用比如打包费、配送费、基建费、燃油费、税费时,必传) | 费用明细列表 (航司或外卖场景可传) | 行业 SDK |
FeeDetailsInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
feeType | number | | 是 | 费用类型
| 行业 SDK |
feeAmount | number | | 是 | 费用总金额 | 行业 SDK |
feeDiscountAmount | number | 0 | 否 | 费用总优惠金额 | 行业 SDK |
feeDesc | string | | 否 | 费用描述 | 行业 SDK |
ContactInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
phoneNumber | string | | 否 (businessLine = 3 且 addressId 为空时,必填) | 联系人电话 | 2.51.0.0 |
contactName | string | | 否 (businessLine = 3 且 addressId 为空时,必填) | 联系人姓名 | 2.51.0.0 |
gender | number | | 否 (businessLine = 3 且 addressId 为空时,必填) | 联系人性别
| 行业 SDK |
StoreInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
storeName | string | | 否 | 商店名称 | 2.51.0.0 |
storeIcon | string | | 否 | 商店头像 | 2.51.0.0 |
DiscountInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
type | number | | 是 | 折扣算价类型
| 2.52.0.3 |
detail | Detail | | 是 | 折扣详情 | 2.52.0.3 |
useMergedMarketingApi | boolean | false | 否 | 是否使用了营销算价二合一 | 2.74.0.0 行业SDK |
Detail
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
orderDiscount | OrderDiscountDetail | | 是 | 订单算价结果 | 2.52.0.3 |
goodsDiscount | GoodsDiscount[] | | 是 | 商品算价结果 | 2.52.0.3 |
itemDiscount | ItemDiscount[] | | 是 | 单商品算价信息 | 2.52.0.3 |
OrderDiscount
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
orderTotalDiscountAmount | number | | 是 | 订单维度总优惠金额,单位: 分 | 2.52.0.3 |
goodsTotalDiscountAmount | number | | 是 | 商品(SKU)维度总优惠金额,单位: 分 | 2.52.0.3 |
marketingInfo | MarketingInfo[] | | 是 | 营销信息明细 | 2.52.0.3 |
MarketingInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
id | string | | 是 | 营销 id | 2.52.0.3 |
type | number | | 是 | 营销类型
| 2.52.0.3 |
discountAmount | number | | 是 | 该营销策略优惠金额,单位: 分 | 2.52.0.3 |
title | string | | 是 | 营销名称 | 2.52.0.3 |
note | string | | 是 | 营销备注(小于128字节) 无需营销备注时需传空字符串 | 2.52.0.3 |
subtype | string | | 否 | 营销子类型 | 2.52.0.3 |
value | number | | 否 | 不同 type 含义不同 | 2.52.0.3 |
discountRange | string | | 是 | 营销适用维度:
| 2.52.0.3 |
code | string | | 否 | 优惠券编码 | 2.74.0.0 行业SDK |
kind | number | | 否 | 营销类别
| |
creatorType | number | | 否 | 创建人类型
| |
marketingExtend | object | | 否 | 透传字段 | |
GoodsDiscount
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
goodsId | string | | 是 | 商品 ID | 2.52.0.3 |
skuId | string | | 否 | skuId,接入sku下单并使用营销时必填 | 2.74.0.0 |
quantity | number | | 是 | 购买数量 | 2.52.0.3 |
totalAmount | number | | 是 | 商品总价,单位:分 | 2.52.0.3 |
totalDiscountAmount | number | | 是 | 商品总折扣 | 2.52.0.3 |
marketingInfo | MarketingInfo[] | | 是 | 营销信息明细 | 2.52.0.3 |
ItemDiscount
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
goodsId | string | | 是 | 商品ID | 2.52.0.3 |
skuId | string | | 否 | skuId,接入sku下单并使用营销时必填 | 2.74.0.0 |
totalAmount | number | | 是 | 商品总价,用于校验原价是否一致 | 2.52.0.3 |
totalDiscountAmount | number | | 是 | 商品总折扣 | 2.52.0.3 |
marketingInfo | MarketingInfo[] | | 是 | 营销信息明细 | 2.52.0.3 |
BookInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
itemBookInfoList | ItemBookInfo[] | -- | 是 | 每个 item 的预约信息,详见 ItemBookInfo | 2.67.0.0 |
ItemBookInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
poiId | string | -- | 是 | 预约门店的poiId | 2.67.0.0 |
shopName | string | -- | 是 | 预约门店名称 | 2.67.0.0 |
outShopId | string | -- | 是 | 预约门店的外部店铺id | 2.67.0.0 |
goodsId | string | -- | 否 | 商品 id 注意:在 2.77.0.0 版本之前此字段为必填,开发者可使用tt.canIUse('createOrder.object.bookInfo.itemBookInfoList.skuId')进行降级处理 | 2.67.0.0 |
skuId | string | -- | 否 | Sku 商品id | 2.77.0.0 |
bookStartTime | number | -- | 是 | 预定开始时间(ms),13位毫秒时间戳 | 2.67.0.0 |
bookEndTime | number | -- | 是 | 预定结束时间(ms),13位毫秒时间戳,注意:需满足当前时间< bookStartTime < bookEndTime,且bookEndTime必须在180天之内 | 2.67.0.0 |
reservationInfoList | ReservationInfo[] | -- | 否 | 留资信息 | 2.67.0.0 |
ReservationInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
name | string | -- | 否 | 姓名 | 2.67.0.0 |
phoneNumber | string | -- | 否 | 电话号码 | 2.67.0.0 |
identificationNumber | string | -- | 否 | 身份证号码 | 2.67.0.0 |
DeliveryInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
poiId | string | -- | 是 | 门店的poiId | 行业 SDK |
bookType | number | -- | 是 | 订单类型 1: 实时单 2: 预约单 | 行业 SDK |
deliveryType | number | -- | 是 | 配送类型 1: 同城配送 2: 到店自提 | 行业 SDK |
receiptInfo | ReceiptInfo ReceiptInfo 说明见下文 | -- | 是 | 收货信息 | 行业 SDK |
bookInfo | DeliveryBookInfo DeliveryBookInfo说明见下文 | -- | 否(bookType = 2时,必填) | 预约信息 | 行业 SDK |
selfPickInfo | SelfPickInfo SelfPickInfo说明见下文 | -- | 否(deliveryType = 2 时,必填) | 自提信息 | 行业 SDK |
ReceiptInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
startTime | number | -- | 是 | 预计收货开始时间(ms),13位毫秒时间戳 | 行业 SDK |
endTime | number | -- | 是 | 预计收货结束时间(ms),13位毫秒时间戳 | 行业 SDK |
DeliveryBookInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
startTime | number | -- | 是 | 预定开始时间(ms),13位毫秒时间戳 | 行业 SDK |
endTime | number | -- | 是 | 预定结束时间(ms),13位毫秒时间戳 | 行业 SDK |
SelfPickInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
startTime | number | -- | 是 | 预计自提开始时间(ms),13位毫秒时间戳 | 行业 SDK |
endTime | number | -- | 是 | 预计自提结束时间(ms),13位毫秒时间戳 | 行业 SDK |
shopInfo | PickUpShopInfo PickUpShopInfo 说明见下文 | -- | 是 | 自提店铺信息 | 行业 SDK |
PickUpShopInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
shopId | string | -- | 否 | 自提店铺id | 行业 SDK |
shopName | string | -- | 是 | 自提店铺名称 | 行业 SDK |
address | string | -- | 是 | 自提店铺地址 | 行业 SDK |
phoneNumber | string | -- | 是 | 自提店铺电话 | 行业 SDK |
AddressInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
addressId | string | -- | 否 | 抖音用户地址id | 行业 SDK |
locationInfo | LocationInfo LocationInfo说明见下文 | -- | 否(addressId 为空时,必填) | 地理位置信息 | 行业 SDK |
doorNumber | string | -- | 否(addressId 为空时,必填) | 门牌号 | 行业 SDK |
LocationInfo
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
provinceCode | string | -- | 是 |