PKAddPaymentPassViewControllerDelegate
繼承自NSObject,@import PassKit。
PKAddPaymentPassViewController類的代理必須遵守該協(xié)議。該協(xié)議定義了兩個(gè)必需實(shí)現(xiàn)的方法。這些方法使系統(tǒng)提示添加支付請(qǐng)求和當(dāng)請(qǐng)求失敗或成功的時(shí)候法通知app。
Adding Cards to Apple Pay 添加卡到Apple Pay
- addPaymentPassViewController:generateRequestWithCertificateChain:nonce:nonceSignature:completionHandler:
告訴代理創(chuàng)建一個(gè)添加支付的請(qǐng)求。
參數(shù):
controller 添加支付請(qǐng)求的視圖控制器
certificates NSData對(duì)象的數(shù)組。每個(gè)對(duì)象包括一個(gè)DER編碼的證書。必須下載根目錄CA驗(yàn)證整個(gè)鏈。
nonce 蘋果服務(wù)器生成的一次性隨機(jī)值,該隨機(jī)值必須被包含在添加支付請(qǐng)求的加密數(shù)據(jù)中。
nonceSignature 有特定設(shè)備的簽名的隨機(jī)值。該簽名必須被包含在添加支付請(qǐng)求的加密數(shù)據(jù)中。
handler 完工的處理者。當(dāng)創(chuàng)建支付請(qǐng)求之后回調(diào)該Block。Block中的參數(shù):request 一個(gè)新創(chuàng)建的添加支付請(qǐng)求,必須20秒之內(nèi)傳送該請(qǐng)求實(shí)例給處理者否則該請(qǐng)求將失敗,系統(tǒng)將為用戶顯示一個(gè)錯(cuò)誤信息。
該方法提供需要?jiǎng)?chuàng)建一個(gè)添加支付請(qǐng)求的書。通過證書束縛在發(fā)行者服務(wù)器上。該服務(wù)器返回一個(gè)包含卡數(shù)據(jù)的加密的JSON文件。當(dāng)收到加密數(shù)據(jù)之后,創(chuàng)建一個(gè)添加支付請(qǐng)求并回調(diào)處理者。
更多關(guān)于加密卡數(shù)據(jù)的信息,可以查看PKPaymentRequest類里的encryptedPassData屬性。
- addPaymentPassViewController:didFinishAddingPaymentPass:error:
參數(shù):
controller 添加支付請(qǐng)求的視圖控制器
pass 完成的卡,如果有錯(cuò)誤,返回nil
error如果請(qǐng)求失敗,該參數(shù)包含錯(cuò)誤對(duì)象(PKPassKitErrorDomamin域錯(cuò)誤) 。更多可能的錯(cuò)誤代碼,可查看枚舉PKAddPaymentPassError。
當(dāng)請(qǐng)求成功地添加卡片到Apple Pay或者失敗時(shí),調(diào)用該方法。
Constants
PKAddPaymentPassError
添加支付卡的錯(cuò)誤代碼
| AddPaymentPassError | Description |
|---|---|
| PKAddPaymentPassErrorUnsupported | 該app不能添加卡到Apple Pay |
| PKAddPaymentPassErrorUserCancelled | 用戶取消添加卡到Apple Pay的請(qǐng)求 |
| PKAddPaymentPassErrorSystemCancelled | 系統(tǒng)取消添加卡到Apple Pay的請(qǐng)求 |