字节跳动支付
tt.BaaS.pay(OBJECT)
OBJECT 参数说明
| 参数 | 类型 | 必填 | 参数描述 | 
|---|---|---|---|
| totalCost | Number | Y | 支付总额,单位:元 | 
| merchandiseDescription | String | Y | 字节跳动支付凭证-商品详情的内容 | 
| service | String | Y | 支付方法,wechat 为直接使用「微信支付」,alipay 为直接使用「支付宝支付」。不填则为使用收银台,但由于字节官方已废弃收银台支付,开发者应使用微信或支付宝进行支付 | 
| merchandiseSchemaID | Integer | N | 商品数据表 ID,可用于定位用户购买的物品 | 
| merchandiseRecordID | String | N | 商品数据行 ID,可用于定位用户购买的物品 | 
| merchandiseSnapshot | Object | N | 根据业务需求自定义的数据 | 
举例:开发者有一个 Article 表, 里面有免费 / 付费的文章, 当用户对一篇付费文章进行支付时, 则可以将 Article 表的 ID 作为 merchandiseSchemaID, 文章记录的 ID 作为你 merchandiseRecordID 传入到 tt.BaaS.pay(object) 写进支付订单记录。当用户阅读此付费文章时, 则可以通过 merchandiseSchemaID, merchandiseRecordID 来查询用户是否付费。
支付成功返回参数说明
| 参数 | 类型 | 说明 | 
|---|---|---|
| transaction_no | String | 字节跳动支付流水号 | 
示例代码
// 支付示例代码
let params = {
  totalCost: 0.1,
  merchandiseDescription: '深蓝色秋裤'
}
tt.BaaS.pay(params).then(res => {
  // success. 支付请求成功响应,可以在 res 中拿到 transaction_no 和支付结果信息
}, err => {
  // 未完成用户授权或发生网络异常等
  console.log(err)
})
支付成功返回示例
{
  transaction_no: "MDUhtNmacdYBKokJbCXhvYuoJnHXzpeN",
}
为了方便开发者清楚区分用户取消支付还是支付失败,我们为其增加了错误类型,你可以通过像以下操作,对支付状态进行判断:
tt.BaaS.pay(params).then(res => {
  // success. 支付请求成功响应。
}, err => {
  // HError 对象
  if (err.code === 608) {
    console.log(err.message)
  }
})
                                
                                