TapCardScanner-iOS 1.0.25

TapCardScanner-iOS 1.0.25

Osama Rabie 维护。



 
依赖
CommonDataModelsKit-iOS>= 0
TapCardVlidatorKit-iOS>= 0
 

  • Tap Payments

TapCardScanner-iOS

一个 SDK,它为以不同方式和上下文扫描不同类型的支付卡提供了一个接口。

Platform CocoaPods Compatible

要求

要使用 SDK,必须满足以下要求:

  1. Xcode 11.0 及以上版本
  2. Swift 4.2 及以上版本(随 Xcode 预装)
  3. 应用程序部署目标 SDK:iOS 12.0 及以上版本

安装


使用 CocoaPods 安装

CocoaPods 是一个依赖管理器,它自动化并简化了在项目中使用第三方库的过程。您可以按以下命令安装它:

$ gem install cocoapods

Podfile

要将goSellSDK集成到您的Xcode项目中使用CocoaPods,请在您的Podfile中指定它

platform :ios, '12.0'
use_frameworks!

source 'https://github.com/CocoaPods/Specs.git'

target 'MyApp' do
    
    pod 'TapCardScanner-iOS'

end

然后,运行以下命令

$ pod update

特性


TapCardScanner-iOS提供了广泛的方式来扫描支付卡,无论是

  • 凸印卡

    • 具有凸起数字和字母,巧妙制作的卡片。
    • 示例
      • Visa。
      • Mastercard。
      • Amex。
      • All of Your Embossing Questions, Answered.
    • 更多信息请查看:凸印卡解释)
  • 非凸印卡

    • 卡片上的数字没有像普通卡那样凸起。它是完美的平坦,所有内容都直接印刷在卡片上。
    • 示例
      • 一些类型的Visa。
      • 科威特的KNET。
      • 沙特阿拉伯的MADA。
      • Prepaid Cards | Mastercard
  • 更多信息请查看:非凸印卡解释.)

    使其成为市场上最全面且最容易集成的Pod之一。

异步卡扫描

该套件提供了一种异步离线方式,可以直接在您的应用中从摄像头流中扫描卡片。这对于扫描凸印卡非常有效。套件提供了两种启动异步扫描的方式

  1. 行内卡扫描器。
  2. 全屏卡扫描器。
  3. 基于EMVCO的推支付二维码。

此外,套件还提供了两种情况下的扫描仪样式接口

  1. 取消按钮颜色。
  2. 取消按钮本地化。
  3. 扫描器矩形颜色。

异步 - 全屏扫描器

此功能提供了一种简单的方法,在覆盖屏幕的模式界面中启动扫描器。

TapFullScreenUICustomizer 类

当您想要自定义全扫描仪的外观和感觉时,都会使用此类。

Swift:

import TapCardScanner_iOS

let tapFullScreenCustomiser:TapFullScreenUICustomizer = TapFullScreenUICustomizer()
tapFullScreenCustomiser.tapFullScreenCancelButtonTitle = "Cancel"
tapFullScreenCustomiser.tapFullScreenCancelButtonFont = UIFont.systemFont(ofSize: 15)
tapFullScreenCustomiser.tapFullScreenCancelButtonTitleColor = .white
tapFullScreenCustomiser.tapFullScreenCancelButtonHolderViewColor = .black
tapFullScreenCustomiser.tapFullScreenScanBorderColor = .green

参数:

参数名称 参数类型 必需 默认值 描述
tapFullScreenCancelButtonTitle String 取消 取消按钮标题
tapFullScreenCancelButtonFont UIFont UIFont.systemFont(ofSize: 15) 取消按钮字体
tapFullScreenCancelButtonTitleColor UIColor .white 取消按钮标题颜色
tapFullScreenCancelButtonHolderViewColor UIColor .black 取消按钮持有视图背景颜色
tapFullScreenScanBorderColor UIColor .green 扫描卡边框颜色
TapFullScreenCardScanner 类

这是一个提供将 Tap 扫描仪以模态全屏控制器显示的功能的类。与之集成就像写一行代码一样简单,如下所示

Swift:

import TapCardScanner_iOS

let fullScanner:TapFullScreenCardScanner = TapFullScreenCardScanner()

fullScanner.showModalScreen(presenter: self,tapCardScannerDidFinish: { (scannedCard) in
                            print("Card Number : \(scannedCard.tapCardNumber ?? "")\nCard Name : \(scannedCard.tapCardName ?? "")\nCard Expiry : \(scannedCard.tapCardExpiryMonth ?? "")/\(scannedCard.tapCardExpiryYear ?? "")\n")
                        },scannerUICustomization: customiser)

参数:

参数名称 参数类型 必需 默认值 描述
演示者 UIViewController TAP 扫描仪将从中呈现的 UIViewController
tapFullCardScannerDimissed () -> () 如果用户点击取消按钮,将调用此 dismiss 块
tapCardScannerDidFinish (TapCard)->() 当扫描到一张卡片时将调用此块
scannerUICustomization TapFullScreenUICustomizer .init() 如果您想自定义全屏扫描仪的 UI 元素外观,请传递此对象
TapCard 类

这是扫描仪扫描卡片后在扫描完卡片时返回的数据模型

参数:

参数名称 参数类型 必需 默认值 描述
tapCardNumber String 表示如果有,则扫描的卡片编号。如果没有,则为 nil
tapCardName String 表示如果有,则扫描的卡片姓名。如果没有,则为 nil
tapCardExpiryMonth String 如果有,则表示扫描卡片的失效月份 MM。如果没有,则为 nil
tapCardExpiryYear String 如果有,则表示扫描卡片的失效年份 YYYY 或 YY。如果没有,则为 nil

异步 - 内联屏幕扫描器

该特性提供了一种简单的方法,将触摸卡片扫描器嵌入到您的UI中,作为UI的一部分

TapInlineCardScanner 类

该类提供功能,通过将其自身绑定到某个UIView,将内联扫描器作为给定布局的一部分显示出来。

Swift:

import TapCardScanner_iOS

let tapInlineScanner:TapInlineCardScanner = .init()
tapInlineScanner.startScanning(in: previewView,cardScanned: { (scannedCard) in
    print("Card Number : \(scannedCard.tapCardNumber ?? "")\nCard Name : \(scannedCard.tapCardName ?? "")\nCard Expiry : \(scannedCard.tapCardExpiryMonth ?? "")/\(scannedCard.tapCardExpiryYear ?? "")\n")
})

参数:

参数名称 参数类型 必需 默认值 描述
previewView UIView 显示扫描器/相册流内容的UIView
scanningBorderColor UIColor .green 扫描卡片边框的颜色。
timoutAfter Int -1 此值决定扫描器应该在多少秒后超时(触发超时回调)。默认值为-1,表示无需超时,且不会接受小于20秒的值。
didTimout (TapInlineCardScanner)->() 超时后将被调用的方法,让调用者决定是让用户继续扫描,还是取消扫描。
cardScanned (TapCard)->() 卡片扫描后将触发的回调。注意,扫描器将在此之后暂停自身,因此您可以使用相应的接口将其删除或恢复。

同步扫描器

该特性提供了一种简单的方法来启动同步扫描,该扫描可以扫描来自给定静态图像的卡片详情。**这是要扫描非凸起的卡片时使用的**。

TapInlineCardScanner 类

该类提供从静态图像扫描卡片细节的接口,如下所示

Swift:

import TapCardScanner_iOS

let staticInlineScanner:TapInlineCardScanner = .init()
staticInlineScanner.ScanCard(from: imageWithCard)

参数:

参数名称 参数类型 必需 默认值 描述
image UIImage 您要从其中获取卡片数据的静态图像。
maxDataSize Double 0 触摸扫描器会确保压缩图像到指定的最大KB范围。允许的大小越大,POST请求就越大,上传所需的时间就越长。
minCompression CGFloat .2 点击扫描器会尝试将图像压缩到给定的最大尺寸,但不会低于指定的质量。
cardScanned (TapCard)->() 一个将返回扫描卡片详情的块。
onErrorOccured (String)->() 一个将返回过程中任何一个阶段发生的任何错误的块。