1.0.1 • Published 2 years ago
gaosen-payment-sdk v1.0.1
Zeasn Saas Payment SDK Design
1. SDK概述
JS SDK,链接zeasn内部各业务/CP(开发者平台下的应用)/whaleUser至支付系统
2. SDK接口设计
2.1 创建订单
createOrder:
参数:
{ appName, //app name (必须?) appId, //zeasn app id (选填?) channelId, //应用的渠道ID appGalleryName, //应用商城名称 brandId, productId, deviceSetId, mac, deviceId, deviceName, orderId, //商家订单id (必须) orderName, //订单名称 (必须) orderDesc, //订单描述 orderItems: [{ itemId, //(必须) itemName, //(必须) itemCount, //(必须) itemPrice, // (必须) itemType, //虚拟、实物之类 (必须) total, //total = itemPrice * itemCount (必须) actualTotal, // actualTotal = total – discount (必须) discount //(必须) }], total, //total = sum(item.total) (必须) atctualTotal, // actualTotal = total – discount (必须) discount, // discount = sum(item. discount) + otherDiscount (必须) currency, //币种(airwallex支持的币种) (必须) countryCode //交易发生国家编码 (必须) }
返回结果 Promise
{
zeasnOrderId, //zeasn order id
orderId, //商家订单id
payType,
}
- 说明: 创建的订单,必须在指定时间内完成支付,超时未完成支付的订单将被清理为关闭的状态
- 错误码定义
- 未传递whaleUser信息
- 订单金额错误
- 币种不支持
- 国家不支持
2.2 提交订单
submitOrder:
- 参数
- zeasnOrderId
- payType //支付方式,目前只支持信用卡,后续也许会接入一些其他本地支付
返回结果 Promise
{ zeasnOrderId, orderId, //商家订单id payType, }
错误码定义 订单不存在、已超时、已关闭
2.3 创建并提交订单
- createAndSubmitOrder
参数:
{ appName, //app name (必须?) appId, //zeasn app id channelId, //应用的渠道ID appGalleryName, //应用商城名称 brandId, productId, deviceSetId, mac, deviceId, deviceName, orderId, //商家订单id (必须) orderName, //订单名称 (必须) orderDesc, //订单描述 orderItems: [{ itemId, (必须) itemName, (必须) itemCount, (必须) itemPrice, (必须) itemType, //虚拟、实物之类 (必须) total, //total = itemPrice * itemCount (必须) actualTotal, // actualTotal = total – discount (必须) discount (必须) }], total, //total = sum(item.total) (必须) atctualTotal, // actualTotal = total – discount (必须) discount, // discount = sum(item. discount) + otherDiscount (必须) currency, //币种(airwallex支持的币种) (必须) countryCode //交易发生国家编码 (必须) }
返回结果 Promise
{
zeasnOrderId, //zeasn order id
orderId, //商家订单id
payType,
}
- 说明: 创建的订单,必须在指定时间内完成支付,超时未完成支付的订单将被清理为关闭的状态
- 错误码定义
- 未传递whaleUser信息
- 订单金额错误
- 币种不支持
- 国家不支持
2.4 支付订单
- createPayment(ele, options)
- 参数:
- ele: element dom节点
- options:
{ containerStyle, // 整个容器的样式 fieldContainerStyle, // input+label的整块样式, button容器的整块样式 fieldLabelStyle, // label的样式 inputWrapperStyle, // input的容器样式 inputStyle, // input输入框样式 buttonStyle, // 提交按钮的样式 language, //多语言,错误提示也要支持多语言 }
- 返回结果: Promise
2.5 订阅支付状态
- subscribePayInfo(fn)
- 参数: fn回调函数
- 返回结果: Promise
{ zeasnOrderId OrderId status }
2.6 获取订单详情
- getOrderById(zeasnOrderId)
- 返回结果: Promise
{ ... }
2.7 获取支付详情
- getPayDetailById(zeasnOrderId)
- 返回结果: Promise
{ ... }
2.8 初始化用户数据
- init
- 参数:
{
token: whaleUserToken
}