百度支付

swan.BaaS.pay(OBJECT, bannedChannels)

参数说明

参数 类型 必填 参数描述
OBJECT Object Y 订单相关信息,具体参考下面 OBJECT 参数说明
bannedChannels StringArray N 需要隐藏的支付方式

OBJECT 参数说明

参数 类型 必填 参数描述
totalCost Number Y 支付总额,单位:元
merchandiseDescription String Y 百度支付凭证-商品详情的内容
merchandiseSchemaID Integer N 商品数据表 ID,可用于定位用户购买的物品
merchandiseRecordID String N 商品数据行 ID,可用于定位用户购买的物品
merchandiseSnapshot Object N 根据业务需求自定义的数据

举例:开发者有一个 Article 表, 里面有免费 / 付费的文章, 当用户对一篇付费文章进行支付时, 则可以将 Article 表的 ID 作为 merchandiseSchemaID, 文章记录的 ID 作为你 merchandiseRecordID 传入到 swan.BaaS.pay(object) 写进支付订单记录。当用户阅读此付费文章时, 则可以通过 merchandiseSchemaID, merchandiseRecordID 来查询用户是否付费。

bannedChannels 参数说明

channel 说明
Alipay 支付宝
BDWallet 百度钱包
Wechat 微信支付

支付成功返回参数说明

参数 类型 说明
transaction_no String 百度支付流水号

示例代码

// 支付示例代码
let params = {
  totalCost: 0.1,
  merchandiseDescription: '深蓝色秋裤'
}

swan.BaaS.pay(params).then(res => {
  // success. 支付请求成功响应,可以在 res 中拿到 transaction_no 和支付结果信息
}, err => {
  // 未完成用户授权或发生网络异常等
  console.log(err)
})

支付成功返回示例

{
  transaction_no: "MDUhtNmacdYBKokJbCXhvYuoJnHXzpeN",
}

为了方便开发者清楚区分用户取消支付还是支付失败,我们为其增加了错误类型,你可以通过像以下操作,对支付状态进行判断:

swan.BaaS.pay(params).then(res => {
  // success. 支付请求成功响应。
}, err => {
  // HError 对象
  if (err.code === 608) {
    console.log(err.message)
  }
})

results matching ""

    powered by

    No results matching ""