1.0.1 • Published 2 years ago

gaosen-payment-sdk v1.0.1

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

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
 }
1.0.1

2 years ago

1.0.0

2 years ago