MyCheckWalletUI 1.2.5

MyCheckWalletUI 1.2.5

Dudi Hisinedudi 维护。



 
依赖于
MyCheckCore>= 0
Kingfisher~> 3.0
 

  • elad schiller

MyCheckWalletUI

这是一个提供支付方式管理 UI 的 SDK。

示例

要运行示例项目,请克隆仓库,并首先从 Example 目录运行 pod install。示例展示了显示 Checkout 视图控制器、显示支付管理视图控制器以及在准备支付时获取令牌。

要求

iOS 9 或更高版本,Swift 3.0

安装

MyCheckWalletUI 可以通过 CocoaPods 获取。您首先需要请求 MyCheck 团队成员给您 MyCheck 仓库的读取权限。一旦您获得了权限,您只需将以下行添加到 Podfile 的顶部即可进行安装

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

这将为 CocoaPods 设置公共 CocoaPods 仓库和 MyCheck 私有仓库,作为 CocoaPods 搜索框架的目标。

您可以在 'bitbucket.org' 前面添加 YOUR_USER_NAME@,这样 pod 工具在您更新或安装时就不需要每次都询问您了。

在目标内部添加

pod "MyCheckWalletUI"

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

使用

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

首先,将以下代码添加到您想使用 MyCheck 的类顶部:

import MyCheckCore

import MyCheckWalletUI

...

在您的应用代理的 application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) 函数调用中,同时调用会话单例的配置函数以及钱包的配置函数

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

Wallet.shared.configureWallet()

这将设置 SDK 以与所需环境一起工作。

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

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

一旦您登录,请添加

import MyCheckWalletUI

###钱包 钱包单例可用于获取付款方式,如果未使用 MCCheckoutViewController 进行结账。如果是这种情况,则可以使用默认付款方式。

Wallet.shared.getDefaultPaymentMehthod(success: {method in

}, fail: {
error in

})

###Wallet.UI 钱包单例具有默认 UI 设置(默认字体),您可以通过以下方式设置自己的字体,以便 SDK 使用它们。1.您的字体必须包含在您的应用程序包中。2.字体必须包含在 Info.plist 文件中。3.使用 setCustomeFont 方法。

Wallet.shared.setCustomeFonts(regularFont: UIFont , boldFont: UIFont)

###MCCheckoutViewController 这个视图控制器旨在嵌入到您的视图控制器中。它允许用户获得钱包所需的基本功能

  1. 添加付款方式

  2. 选择付款方式 将视图控制器添加到容器视图。有两种方法可以实现。

  3. 界面构建器:更改容器连接到的视图控制器(通过 segue)为 MCCheckoutViewController

  4. 在代码中:调用 MCCheckoutViewController.init() 来创建实例。

创建实例后,您应该设置 checkoutDelegate 并实现 checkoutViewShouldResizeHeight 以应对高度变化。您应该调整容器视图的高度,使其等于代理方法返回的高度。当您想使用付款方式时,请使用视图控制器的变量 selectedMethod 来获取用户选择的付款方式(如果没有选择则为 nil)

###MCPaymentMethodsViewController 这个类是一个全屏视图控制器,允许用户完全管理自己的付款方式

  1. 显示所有他的付款方式。
  2. 选择默认付款方式。
  3. 删除付款方式。
  4. 添加付款方式。

要创建 MCPaymentMethodsViewController 实例,请调用构造函数并按以下方式呈现:

let controller = MCPaymentMethodsViewController.createPaymentMethodsViewController(self)
self.presentViewController(controller, animated: true, completion: nil)

您还必须实现 MCPaymentMethodsViewControllerDelegate,并在完成后解散视图控制器(参见图例)


func dismissedMCPaymentMethodsViewController(controller: MCPaymentMethodsViewController){
controller.dismissViewControllerAnimated(true, completion: nil)
}

PayPal

为了使 PayPal 正常工作,您需要执行一些额外的步骤。首先,安装 PayPal 模型。这将添加 Braintree PayPal SDK 以及来自 MyCheck 钱包 UI SDK 的额外源文件。将以下行添加到您的 Podfile:

pod "MyCheckWalletUI/PayPal"

完成此操作后,您还需要添加一行初始化 PayPal 模型的代码。

PaypalFactory.initiate(YOUR_PACKAGE_NAME)

必要的最后一行代码是允许 MyCheck 钱包 UI SDK 对应用切换做出响应。这是因为 PayPal SDK 会打开外部应用/浏览器。

func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {

return MyCheckWallet.shared.handleOpenURL(url, sourceApplication: sourceApplication)

}

最后,为了完全支持 PayPal 和它使用的应用切换,请按照以下说明编辑您的 info.plist 文件:在 [Braintree PayPal SDK 指南](https://开发商.braintreepayments.com/guides/paypal/client-side/ios/v4) 的 "注册 URL 类型" 部分中描述的操作,请访问以下链接:[Braintree PayPal SDK 指南](https://developers.braintreepayments.com/guides/paypal/client-side/ios/v4)。

Apple Pay

为了让 Apple Pay 也能正常工作,您需要执行一些额外的步骤。首先,按照 [这些说明](https://developer.apple.com/library/content/ApplePay_Guide/Configuration.html#//apple_ref/doc/uid/TP40014764-CH2-SW1)配置您的环境以支持 Apple Pay。发送带有您创建的证书、私钥和商家 ID 的 p12 文件到 MyCheck 团队成员。然后,通过在 Podfile 中添加以下行来安装 MyCheckWalletUI SDK 的 Apple Pay 模型。

pod "MyCheckWalletUI/ApplePay"

运行 pod install 之后,您还需要添加一行代码来初始化使用您在上一步骤中在 Apple 开发者网站上创建的商家标识符的 Apple Pay 模型。

ApplePayFactory.initiate(merchantIdentifier: YOUR_MERCHANT_ID)

在上面的代码行应该添加到您的应用程序代理的 application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 函数中,在调用 configure 之后。这就完成了。您还需要对 Dine SDK 进行一些修改,以便添加 Apple Pay 支持,这已经在 Dine SDK 的 README 文件和入门指南中进行了讨论。

Visa Checkout

首先,安装 Visa Checkout 模型。这将添加 Visa Checkout SDK 以及 MyCheck 钱包 UI SDK 的额外源文件。在 Podfile 中添加以下行。

pod "MyCheckWalletUI/VisaCheckout"

完成此操作后,您还需要添加一行代码以初始化 Visa Checkout 模型。

VisaCheckoutFactory.initiate(apiKey: VISA_CHECKOUT_API_KEY )

请确保 API 密钥具有与 MyCheck 钱包配置中相同的环境对应。

MasterPass

首先,安装 MasterPass 模型。将以下行添加到 Podfile 中。

pod "MyCheckWalletUI/MasterPass"

完成此操作后,您还需要添加一行代码以初始化 MasterPass 模型。

MasterPassFactory.initiate()

作者

Elad Schiller, [email protected]

许可协议

请阅读项目中可用的LICENSE文件