抖音开放平台Logo
开发者文档
“/”唤起搜索
控制台
  • JS API 列表
  • 基础
  • TTML
  • 网络
  • 媒体
  • 地图
  • 文件
  • 数据缓存
  • 地理位置
  • 设备
  • 画布
  • 界面
  • 页面导航
  • 开放接口
  • 行业开放
  • 通用交易系统
  • 交易系统
  • 交易工具
  • tt.createSignOrder
  • tt.sign
  • diamond-balance钻石充值与余额组件
  • 第三方平台
  • 其它
  • 生活服务
  • tt.sign
    收藏
    我的收藏

    基础库 2.74.0 开始支持本方法,这是一个异步方法。

    调用该 API 后,会唤起签约页面,用户签约授权后返回调用结果。

    前提条件
    业务背景
    调用该 API 后,会唤起签约页面,用户签约授权后返回调用结果。
    使用限制
    注意事项
    • 信用免押场景目前处于功能内测阶段,周期代扣场景使用前请确认按照周期代扣接入指南操作开通周期代扣能力。
    • 最低支持版本上注明行业 SDK ,表示仅在行业 SDK 上才支持,需要在代码中配置行业 SDK 的权限:行业 SDK 的权限配置。当完成行业 SDK 的权限配置后,可通过 tt.canIUse('sign') 判断该 API 是否可用。
    支持沙盒
    相关教程

    语法

    tt.sign(options)

    参数说明

    options 为 object 类型,属性如下:

    属性名类型默认值必填说明最低支持版本
    businessTypenumber

    预授权模式,枚举值

    1 - 信用免押

    2 - 周期代扣

    2.74.0
    orderIdstring

    订单 id,平台签约单号

    • businessType = 1 即信用免押时,orderId 为服务端 OpenAPI 下单返回
    • businessType = 2 即周期代扣时,orderId为调用tt.createSignOrder成功回调中返回的authOrderId
    2.74.0
    successfunction
    接口调用成功的回调函数
    2.74.0
    failfunction
    接口调用失败的回调函数
    2.74.0
    completefunction
    接口调用结束的回调函数(调用成功、失败都会执行)
    2.74.0

    回调成功

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errMsgstring

    "sign:ok"

    2.74.0

    回调失败

    object 类型,属性如下:

    属性名类型说明最低支持版本
    errNostring

    错误码

    2.74.0
    errMsgstring

    "sign:fail " + 详细错误信息

    2.74.0
    codenumber

    当 businessType = 2 时返回

    code = -1: 订单状态未知,请开发者自行调用签约单查询接口查询

    code = 4: 签约/支付取消

    2.74.0

    错误码

    errNoerrMsg说明最低支持版本
    21100sign:fail open pay score fail

    开通失败

    2.74.0
    10301sign:fail feature is not supported in app

    方法不支持

    2.74.0
    20000sign:fail expect params.businessType to be one of 1, but got undefined

    businessType 未传。参数异常,其他字段校验也会有类似错误信息

    2.74.0
    20000订单不存在

    检查 orderId 是否正确

    2.74.0
    10000参数错误

    对照错误提示和接口字段定义,检查对应的参数

    2.74.0
    11001访问未授权

    请检查 orderId 所属的用户与当前登录的用户是否一致

    2.74.0
    12001操作过于频繁,请稍后再试

    请等待 2-3 秒后,再重试

    2.74.0
    12002您涉及违规操作,暂时无法使用该功能

    风控策略拦截,请联系客服或已对接的运营

    2.74.0
    13000系统错误

    请重试,若多次重试仍然报错,请联系 oncall

    2.74.0
    26001签约单已过期,请重新发起

    订单已过期,请重新下单

    2.74.0
    26001支付单已过期,请重新发起

    订单已过期,请重新下单

    2.74.0
    32012暂无调用权限

    请咨询周期代扣对接的运营处理

    2.74.0

    代码示例

    信用免押场景,即businessType为1时,orderId 为服务端 OpenAPI 下单返回

    Page({ data: {}, signOrder() { tt.sign({ businessType: 1, orderId: "testoid", success: (res) => { const { errMsg } = res; console.log("errMsg", errMsg); // "sign:ok" }, fail: (res) => { const { errNo, errMsg } = res; console.log("errNo", errNo); console.log("errMsg", errMsg); }, }); }, });

    周期代扣场景,即businessType为2时,orderId 为调用tt.createSignOrder生成的签约单

    Page({ data: {}, signOrder() { tt.createSignOrder({ businessType: 2, data: JSON.stringify({ outAuthOrderNo: "out_order_123456", // 外部订单号 serviceId: "123456", // 周期代扣模板ID openId: "test_openid", // 用户openid firstDeductionDate: "2025-03-12", // 首次扣款日期 authPayOrder: { outPayOrderNo: "out_pay_no_123456", // 开发者侧代扣单的单号 merchantUid: "123456", // 开发者自定义收款商户号 }, signWay: 3, // 签约渠道 }), byteAuthorization: "test byteAuthorization", success: (res) => { const { authOrderId, payOrderId } = res; console.log("authOrderId", authOrderId); console.log("payOrderId", payOrderId); tt.sign({ businessType: 2, orderId: authOrderId, success: (res) => { const { errMsg } = res; console.log("errMsg", errMsg); }, fail: (res) => { const { errNo, errMsg } = res; console.log("errNo", errNo); console.log("errMsg", errMsg); }, }); }, fail: (res) => { const { errNo, errMsg } = res; console.log("errNo", errNo); console.log("errMsg", errMsg); }, }); }, });