MyCheckDineUIWeb 1.1.5

MyCheckDineUIWeb 1.1.5

dudi 维护。



 
依赖
MyCheckCore>= 0
MyCheckWalletUI>= 0
MyCheckWalletUI/MasterPass>= 0
MyCheckWalletUI/VisaCheckout>= 0
MyCheckWalletUI/ApplePay>= 0
MyCheckWalletUI/PayPal>= 0
MyCheckDine>= 0
 

  • elad schiller

MyCheck Dine UI Web SDK

一个使用户能够打开餐厅餐桌、跟踪订单、重新点菜并在最后支付的 SDK。SDK 提供了一个 View Controller,引导用户通过 MyCheck Dine 的餐桌体验。

交易的基本流程是

  • 客人通过访问应用程序获取一个四位数的代码
  • 将代码交给客人的服务员,他将通过 POS 系统打开账单并输入代码。
  • POS 系统将与 MyCheck 服务连接
  • 然后客人可以查看账单,通过重新订购现有项目并支付来与账单互动。
  • 客人支付账款后,他将无法再访问账单。

要求

iOS 9 或更高版本。

Swift 3.0

安装

MyCheck 餐厅 SDK 通过 CocoaPods 提供。您首先需要请求 MyCheck 团队成员授予您 MyCheck 仓库的读取权限。一旦获得权限,只需将以下行添加到 Podfile 的顶部即可安装

source 'https://bitbucket.org/erez_spatz/pod-spec-repo.git'
source 'https://github.com/CocoaPods/Specs.git'

这将设置公共CocoaPods仓库和MyCheck私有仓库为目标,用于CocoaPods查找框架。

您可以在“bitbucket.org”之前添加YOUR_USER_NAME@,这样在每次更新或安装时,pod工具就不需要您每次都请求它。

在目标内部添加

pod "MyCheckDineUIWeb"

现在您可以运行 'pod install' 命令了

使用

为了管理用户会话(登录、注销等),您需要使用会话单例。

首先将以下内容添加到您希望使用MyCheck的类顶部

import MyCheckCore

到类顶部

在您的应用程序代理的 application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) 函数中调用会话单例的配置函数

Session.shared.configure(YOUR_PUBLISHABLE_KEY, environment: .sandbox)

这将设置SDK以与希望的环境一起工作。

在使用任何其他函数之前,您必须登录用户。登录是通过首先从您的服务器(该服务器反过来使用密钥从MyCheck服务器获取)获取刷新令牌来完成的。一旦您有了刷新令牌,请调用会话单例上的登录函数

Session.shared.login(REFRESH_TOKEN, success: HANDLE_SUCCESS
}, fail: HANDLE_FAIL)

打开新的餐桌

登录后,您可以打开一个餐桌并创建一个DineInWebViewController对象,该对象将使用户通过Dine In过程。

import DineUIWeb

需要生成一个4位数字PIN以及创建一个ViewController实例。请使用DineInWebViewControllerFactory 对象进行此操作。您需要传递用户想要进餐的商家的业务ID。

DineInWebViewControllerFactory.dineIn(at: THE_BUSSINESS_ID , locale:THE_LOCALE, delegate: self)

请注意,您需要实现DineInWebViewControllerDelegate。它将在创建ViewController时通知您,在发生任何错误时通知您,并在用户完成使用视图控制器(包括他完成的理由和最后一个订单状态)时更新您。

显示已打开的餐桌

如果您想要检查餐桌是否已打开(例如,当应用启动时),您需要使用Dine单例。

Dine.shared.getOrder(success: { order in //对打开的订单做出反应 }, fail: {error in //获取一个打开的订单失败 })

如果存在一个打开的订单,请创建一个使用旨在为打开的订单提供的工厂方法创建的 DineInWebViewController,并将其通过从getOrder回调接收到的新订单传递给它。

DineInWebViewControllerFactory.dineInWithOpenOrder.dineIn(order: THE_ORDER, locale:THE_LOCALE, delegate: self)

作者

Elad Schiller, [email protected]

许可证

请在项目中查看可用的 LICENSE 文件