• JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 交易系统
  • 通用交易系统
  • 交易下单
  • tt.requestOrder
  • tt.getOrderPayment
  • 履约
  • 通用交易系统接入问题汇总
  • 交易工具
  • 第三方平台
  • 其它
  • 基础库 2.74.0.0 开始支持本方法
    提供预下单能力,开发者通过调用该方法生成订单,返回订单号和订单信息。

    使用限制

    最低支持版本上注明行业 SDK ,表示仅在行业 SDK 上才支持,需要在代码中配置行业 SDK 的权限:行业 SDK 的权限配置。当完成行业 SDK 的权限配置后,可通过 tt.canIUse('requestOrder') 判断该 API 是否可用。

    语法

    tt.requestOrder(options);

    参数说明

    options 为 object 类型,属性如下:
    属性名
    类型
    默认值
    必填
    说明
    data
    string
    由开发者服务端返回,生成方式见此文档
    byteAuthorization
    string
    success
    Function
    接口调用成功的回调函数
    fail
    Function
    接口调用失败的回调函数
    complete
    Function
    接口调用结束的回调函数(调用成功、失败都会执行)

    回调成功

    object 类型,属性如下:
    属性名
    类型
    必填
    说明
    orderId
    string
    抖音开放平台内部的交易订单号,拉起收银台的参数,示例:motb123456789
    itemOrderList
    ItemOrderList[]
    item单信息
    logId
    string
    可供服务端排查问题
    ItemOrderList 类型,属性如下:
    属性名
    类型
    必填
    说明
    itemOrderId
    string
    交易系统商品单号,示例:motb874637654774
    skuId
    string
    商品id,开发者下单时传入的商品id
    itemOrderAmount
    number
    item单实付金额

    回调失败

    object 类型,属性如下:
    属性名
    类型
    说明
    errNo
    string
    错误码,对应信息可查看 errNo 说明
    errMsg
    string
    错误信息提示
    errLogId
    string
    当下单失败时会提供该数据,可供服务端排查问题
    错误码说明:
    errNo
    errMsg
    说明
    10000
    requestOrder:fail 参数错误
    参数错误
    requestOrder:fail 商品不符合行业要求
    商品类型与小程序所属行业不符。请仔细阅读接入规范,查看所属行业可交易的商品类型后修正参数
    10401
    requestOrder:fail internal error
    请求异常,可重试或升级APP
    11004
    requestOrder:fail 签名参数异常
    请检查byteAuthorization,若不是'SHA256-RSA2048 '开头的格式,请使用下方示例代码生成。
    requestOrder:fail 签名校验异常
    请参考加签问题FAQ进行自查
    11001
    requestOrder:fail 访问未授权
    该JSAPI依赖用户登录,使用前请确保用户已经完成登录
    12002
    requestOrder:fail 账号行为异常
    账号行为异常
    13000
    requestOrder:fail 系统错误
    系统错误;
    可能情况较多,建议重试;若还重复报错,可以拉 Oncall 排查具体原因。
    21016
    requestOrder:fail 外部单号已存在
    外部单号已存在
    21046
    requestOrder:fail 订单收款商户号不合法
    订单收款商户号不合法
    21550
    requestOrder:fail not login
    请用真机调试或者参考常见问题
    26003
    requestOrder:fail 相关接口已被封禁,具体原因可进入「控制台-小程序-健康-违规记录」进行查询
    相关接口已被封禁,具体原因可进入「控制台-小程序-健康-违规记录」进行查询
    requestOrder:fail 无下单权限
    当前场景无下单权限,具体可咨询对接运营
    26005
    requestOrder:fail 无可用支付方式
    无可用支付方式
    26006
    requestOrder:fail 商户号与小程序的支付产品不一致
    商户号与小程序的支付产品不一致

    代码示例

    // index.js Page({ data: { }, createOrder() { tt.requestOrder({ data: JSON.stringify({ orderEntrySchema: { path: "page/index/index", // 小程序详情页跳转路径 params: '{"id":1234, "name":"hello"}', // 详情页路径参数 }, skuList: [ { tagGroupId: "test", skuId: "abcd", title: "test", price: 1, imageList: ["https://example.com/test.png"], type: 101, quantity: 1, }, ], // 下单商品信息 outOrderNo: "out_order_test_123456", // 外部订单号 totalAmount: 1, // 订单总金额 payExpireSeconds: 300, // 支付超时时间 limitPayWayList: [], // 屏蔽的支付方式 }), // 开发者服务端返回的data示例 byteAuthorization: 'test authorization', // 开发者服务端返回的byteAuthorization success: (res) => { const { orderId } = res; console.log("orderId", orderId); // 抖音开放平台内部的交易订单号 }, fail: (res) => { const { errLogId, errMsg, errNo } = res; console.log("errNo:", errNo); console.log("errMsg:", errMsg); }, }); } });