PKAddPaymentPassViewControllerDelegate
继承自NSObject
,@import PassKit
。
PKAddPaymentPassViewController
类的代理必须遵守该协议。该协议定义了两个必需实现的方法。这些方法使系统提示添加支付请求和当请求失败或成功的时候法通知app。
Adding Cards to Apple Pay 添加卡到Apple Pay
- addPaymentPassViewController:generateRequestWithCertificateChain:nonce:nonceSignature:completionHandler:
告诉代理创建一个添加支付的请求。
参数:
controller
添加支付请求的视图控制器
certificates
NSData对象的数组。每个对象包括一个DER编码的证书。必须下载根目录CA验证整个链。
nonce
苹果服务器生成的一次性随机值,该随机值必须被包含在添加支付请求的加密数据中。
nonceSignature
有特定设备的签名的随机值。该签名必须被包含在添加支付请求的加密数据中。
handler
完工的处理者。当创建支付请求之后回调该Block
。Block
中的参数:request
一个新创建的添加支付请求,必须20秒之内传送该请求实例给处理者否则该请求将失败,系统将为用户显示一个错误信息。
该方法提供需要创建一个添加支付请求的书。通过证书束缚在发行者服务器上。该服务器返回一个包含卡数据的加密的JSON文件。当收到加密数据之后,创建一个添加支付请求并回调处理者。
更多关于加密卡数据的信息,可以查看PKPaymentRequest
类里的encryptedPassData
属性。
- addPaymentPassViewController:didFinishAddingPaymentPass:error:
参数:
controller
添加支付请求的视图控制器
pass
完成的卡,如果有错误,返回nil
error
如果请求失败,该参数包含错误对象(PKPassKitErrorDomamin
域错误) 。更多可能的错误代码,可查看枚举PKAddPaymentPassError
。
当请求成功地添加卡片到Apple Pay或者失败时,调用该方法。
Constants
PKAddPaymentPassError
添加支付卡的错误代码
AddPaymentPassError | Description |
---|---|
PKAddPaymentPassErrorUnsupported | 该app不能添加卡到Apple Pay |
PKAddPaymentPassErrorUserCancelled | 用户取消添加卡到Apple Pay的请求 |
PKAddPaymentPassErrorSystemCancelled | 系统取消添加卡到Apple Pay的请求 |