SezzleMerchantsSDKiOS
为 ios 应用程序提供的 Sezzle SDK
安装
通过 Cocoapods 将 SDK 添加到项目中
pod 'SezzleMobileSDK', '~> 1.2'
通过 Carthage 将 SDK 添加到项目中
github "sezzle/SezzleMerchantsSDKiOS" ~> 1.2
或将 SezzleMobileSDK 下的源文件拖拽到您的项目中。
使用方法
要访问 Sezzle 的结账,您需要使用您的商户仪表板中的公钥。
使用 Sezzle 配置对象传递您的公钥、您在开发中希望使用的环境以及您的应用所在的区域以进行结账过程。目前仅支持加拿大和美国。
let configuration = SezzleConfiguration(publicKey: "your public key", location: .US, environment: .PRODUCTION)
使用以下参数初始化 SezzleCheckoutViewController 以开始结账
let checkoutVC = SezzleCheckoutViewController(customer: customer, order: order, delegate: self, configuration: configuration)
SezzleOrder 对象将接受两种类型的结账意向,“CAPTURE” 或 “AUTH”,这与 Sezzle 网络产品现有的结账方式相同。我们建议使用“AUTH”捕获流程,因为出于安全原因,“CAPTURE” 流程可能在未来被弃用。
使用委托展示此视图控制器以向客户展示 Sezzle Webview,该 Webview 将最终化他们的结账。当结账完成,无论成功与否,都会调用委托函数来指示尝试结账的结果。当结账成功时,使用传回的令牌从您的后端完成订单。
结算版本
我们的结算SDK使用了文档中提到的Sezzle结算的版本2:Sezzle文档。在测试与前一版本的兼容性后,我们确认CAPTURE流程在不同版本间不兼容。为了使用CAPTURE流程,请确保您的后端也使用结算系统的v2版本。
结算代理
结算viewController需要传递一个代理到其初始化方法中。代理协议中需要四个函数
func completedCheckoutWithToken(token: String)
func checkoutCancelled()
func checkoutCancelledWithReason(reasonCode: String)
func checkoutFailedWithError(error: Error)
这些函数将在视图控制器被dismiss后、用户返回您的应用时被调用。
在AUTH和CAPTURE流程中,将调用completedCheckout函数,并返回用于捕获的token,该token将用于捕获。
所有其他函数均指失败结算,其中第一个checkoutCancelled指用户在SezzleCheckout流程完成前关闭它,而后续两个指显示SezzleCheckout时的问题。当应用程序无法完成URLSession任务以获取创建结算所需的URL时,结算将失败,或者当任务响应不在200范围内时,结算将被取消。
促销
为推广Sezzle的使用并解释即买即付的核心概念,我们提供了SezzlePromotionalViewController,它可以初始化所需模态版本的版本以及您希望使用的语言。目前有两种语言可用,英语和法语。有关可用模态版本的参考,请参阅Sezzle模态仓库。促销视图控制器的初始化方法如下
let promotionalVC = SezzlePromotionalViewController(language: .English, version: "2.0.0")
除了SezzlePromotionalViewController之外,我们还提供PromotionalView,可以使用以下代码以编程方式初始化
let promotionalView = PromotionalView(frame: CGRect(x: 0, y: 0, width: width, height: height), viewController: self, amount: 10.0, language: .English, modalVersion: "2.0.0")
此视图将初始化一个PromotionalViewController,并在视图被点击时将其展示给传递给视图的ViewController。当前,它与PromotionalViewController一样,支持两种语言,英语和法语。除了上面的参数外,用户还可以设置用于显示促销信息的字体以及字体颜色。默认情况下,这些将设置为系统默认值和Sezzle默认文本颜色。默认值为true的可选阴影参数指在视图本身周围放置阴影以及应用于视图的圆角。如果您希望自行处理这些,请传入一个false值,这些添加将不会进行。