tt.sign
收藏我的收藏
基础库 2.74.0 开始支持本方法,这是一个异步方法。
调用该 API 后,会唤起签约页面,用户签约授权后返回调用结果。
前提条件 | 无 |
业务背景 | 调用该 API 后,会唤起签约页面,用户签约授权后返回调用结果。 |
使用限制 | 无 |
注意事项 |
|
支持沙盒 | 否 |
相关教程 | 无 |
语法
tt.sign(options)
参数说明
options 为 object 类型,属性如下:
属性名 | 类型 | 默认值 | 必填 | 说明 | 最低支持版本 |
---|---|---|---|---|---|
businessType | number | 是 | 预授权模式,枚举值 1 - 信用免押 2 - 周期代扣 | 2.74.0 | |
orderId | string | 是 | 订单 id,平台签约单号
| 2.74.0 | |
success | function | 否 | 接口调用成功的回调函数 | 2.74.0 | |
fail | function | 否 | 接口调用失败的回调函数 | 2.74.0 | |
complete | function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) | 2.74.0 |
回调成功
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errMsg | string | "sign:ok" | 2.74.0 |
回调失败
object 类型,属性如下:
属性名 | 类型 | 说明 | 最低支持版本 |
---|---|---|---|
errNo | string | 错误码 | 2.74.0 |
errMsg | string | "sign:fail " + 详细错误信息 | 2.74.0 |
code | number | 2.74.0 |
错误码
errNo | errMsg | 说明 | 最低支持版本 |
---|---|---|---|
21100 | sign:fail open pay score fail | 开通失败 | 2.74.0 |
10301 | sign:fail feature is not supported in app | 方法不支持 | 2.74.0 |
20000 | sign: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); }, }); }, });