0.2.2 • Published 3 years ago
cbwsdk v0.2.2
cbwsdk
介绍
CBW 收银台使用 WalletConnect 协议连接第三方钱包进行快速安全支付。同时集成 CBW 钱包。
安装
Using npm:
$ npm install cbwsdk
Using yarn:
$ yarn add cbwsdk
示例
引入项目
import cbwsdk from 'cbwsdk'
import 'cbwsdk/lib/styles/iview.css'
Vue.use(cbwsdk)
API
方式一
使用 CBW 的默认界面,一般操作按照界面操作即可
import { CBWSDK } from 'cbwsdk'
// 初始化
this.sdk = new CBWSDK({
// tenantKey 需要申请
tenantKey: 'xxxx',
// options
})
SDK options:
{
tenantKey: '必填,由接入方申请',
env: '可选,环境设置,默认为 "ropsten". 可选值为: mainnet(正式网), ropsten(测试环境)',
infuraId: '可选, 用于统计访问数',
chain: '可选, 默认为 ETH, 其它有 ETH,TRX,BSC 等'
bridge: 'url',
secure: true, 默认为 true, 使用 https 协议和 wss 协议,false 为使用 http 和 ws 协议
}
// 打开界面
this.CBWButton.open(this.sdk)
// 隐藏右下角按钮
this.CBWButton.hide()
/**
* 申请转账
*
* @param orderId 用于使用 sdk 方对账的订单id, 不要重复使用
* @param symbol 转账币种,如: USDT
* @param address 一般为商户收款地址: 如果为 null,则默认为商户的收款地址
* @param amount 金额
*/
this.CBWButton.transfer(orderId, symbol, address, amount)
方式二
自定义界面,只使用 API 方式
// 初始化
this.sdk = new CBWSDK({
tenantKey: 'xxx'
})
用户登录
const sdk = this.sdk
// account 为用户手机号或者邮箱
sdk.setAccount(account)
// 发送验证码
sdk.sendVcode().then(res => {
if (res.code === 0) {
console.log('发送验证码成功.')
}
}).catch(err => {
console.log('catch: ', err)
})
// 登录, vcode 为接受到的验证码
sdk.login(vcode).then(res => {
console.log('login: ', res)
console.log('login status: ', sdk.getAccount().logged)
})
连接钱包
// 选择连接 CBW 还是 第三方钱包
const isCBW = true
this.sdk.connect(isCBW)
// 如果选择连接第三方钱包,就到第三方钱包中去授权
// 如果选择 cbw,授权如下
this.sdk.wallet.approveConnect()
发起转账
/**
* 申请转账
*
* @param orderId 针对接入 sdk 的商家,用于对账的订单id, 不要重复使用
* @param symbol 转账币种,如: USDT
* @param address 一般为商户收款地址
* @param amount 金额
*/
let result = this.sdk.transfer(orderId, symbol, address, amount)
if (result instanceof Error) {
console.log('转账失败: ', result.message)
} else {
result.then(res => {
console.log('转账成功: ', res)
})
}
授权转账
// 如果是连接第三方钱包,则去钱包中操作同意转账
// 如果是连接的 CBW,则授权操作如下
/**
*
* @param orderId 对账的订单id, 为发起转账时的 orderId
*/
this.sdk.wallet.approveRequest(orderId)