tt.requestOrder

更新时间 2024-07-24 02:58:49
收藏
我的收藏
基础库 2.74.0.0 开始支持本方法​
提供预下单能力,开发者通过调用该方法生成订单,返回订单号和订单信息。​

使用限制​

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

语法​

JavaScript
复制
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 系统错误​
系统错误​
21016​
requestOrder:fail 外部单号已存在​
外部单号已存在​
21046​
requestOrder:fail 订单收款商户号不合法​
订单收款商户号不合法​
21550​
requestOrder:fail not login​
请用真机调试或者参考常见问题
26003​
requestOrder:fail 相关接口已被封禁,具体原因可进入「控制台-小程序-健康-违规记录」进行查询​
相关接口已被封禁,具体原因可进入「控制台-小程序-健康-违规记录」进行查询​
26005​
requestOrder:fail 无可用支付方式​
无可用支付方式​
26006​
requestOrder:fail 商户号与小程序的支付产品不一致​
商户号与小程序的支付产品不一致​

代码示例​

JavaScript
复制
tt.requestOrder({
data: 开发者服务端返回的data, // 请勿在前端对data做任何处理
byteAuthorization: 开发者服务端返回的byteAuthorization, // 请勿在前端对byteAuthorization做任何处理
success: (res) => {
console.log('成功', res);
},
fail: (res) => {
console.log(res)
},
});