1. 程式人生 > >iOS PassKit框架 第一章—— PKPaymentAuthorizationViewController

iOS PassKit框架 第一章—— PKPaymentAuthorizationViewController

PKPaymentAuthorizationViewController 此類彈出apple pay檢視控制器。

+ (BOOL)canMakePayments;// 裝置是否能進行applepay支付
+ (BOOL)canMakePaymentsUsingNetworks:(NSArray<PKPaymentNetwork> *)supportedNetworks;
+ (BOOL)canMakePaymentsUsingNetworks:(NSArray<PKPaymentNetwork> *)supportedNetworks capabilities:(PKMerchantCapability)capabilties;

PKPaymentNetwork // 支付系統
{
    PKPaymentNetworkAmex API_AVAILABLE(ios(8.0), watchos(3.0)); // 美國運通卡
    PKPaymentNetworkCartesBancaires API_AVAILABLE(ios(11.2), watchos(4.2));
    PKPaymentNetworkChinaUnionPay API_AVAILABLE(ios(9.2), watchos(3.0)); // 中國銀聯卡
    PKPaymentNetworkDiscover API_AVAILABLE(ios(9.0), watchos(3.0)); // 發現卡
    PKPaymentNetworkIDCredit API_AVAILABLE(ios(10.3), watchos(3.2));
    PKPaymentNetworkInterac API_AVAILABLE(ios(9.2), watchos(3.0));
    PKPaymentNetworkJCB API_AVAILABLE(ios(10.1), watchos(3.1));
    PKPaymentNetworkMasterCard API_AVAILABLE(ios(8.0), watchos(3.0)); // 萬事達卡
    PKPaymentNetworkPrivateLabel API_AVAILABLE(ios(9.0), watchos(3.0)); // 信用卡和借記卡
    PKPaymentNetworkQuicPay API_AVAILABLE(ios(10.3), watchos(3.2));
    PKPaymentNetworkSuica API_AVAILABLE(ios(10.1), watchos(3.1));
    PKPaymentNetworkVisa // 維薩卡
}

PKMerchantCapability // 商家支付能力
{
    PKMerchantCapability3DS                                  = 1UL << 0,   // 3DS卡
    PKMerchantCapabilityEMV                                  = 1UL << 1,   // EMV卡
    PKMerchantCapabilityCredit NS_ENUM_AVAILABLE_IOS(9_0) = 1UL << 2,   // 信用卡
    PKMerchantCapabilityDebit  NS_ENUM_AVAILABLE_IOS(9_0) = 1UL << 3    // 借記卡
}

// 指定初始化方法
- (nullable instancetype)initWithPaymentRequest:(PKPaymentRequest *)request NS_DESIGNATED_INITIALIZER;

@property (nonatomic, assign, nullable) id<PKPaymentAuthorizationViewControllerDelegate> delegate;

{
// 支付完成回撥 負責dismiss控制器
- (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller;

@optional

// 8.3後可用
    /*將要去支付*/
- (void)paymentAuthorizationViewControllerWillAuthorizePayment:(PKPaymentAuthorizationViewController *)controller;


// 11.0後可用
    /*付款成功蘋果伺服器返回資訊回撥,做伺服器驗證*/
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                       didAuthorizePayment:(PKPayment *)payment
                                   handler:(void (^)(PKPaymentAuthorizationResult *result))completion;
    /*送貨方式回撥*/
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                   didSelectShippingMethod:(PKShippingMethod *)shippingMethod
                                   handler:(void (^)(PKPaymentRequestShippingMethodUpdate *update))completion;
    /*送貨地址回撥*/
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                  didSelectShippingContact:(PKContact *)contact
                                   handler:(void (^)(PKPaymentRequestShippingContactUpdate *update))completion;
    /*支付方式回撥*/
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                    didSelectPaymentMethod:(PKPaymentMethod *)paymentMethod
                                   handler:(void (^)(PKPaymentRequestPaymentMethodUpdate *update))completion;

PKPaymentRequestUpdate
{
    PKPaymentAuthorizationResult
    PKPaymentRequestUpdate
    {
        PKPaymentRequestShippingMethodUpdate
        PKPaymentRequestShippingContactUpdate
        PKPaymentRequestPaymentMethodUpdate
    }
}

// 11.0後被廢棄的方法 分別對應上面四個方法
- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                       didAuthorizePayment:(PKPayment *)payment
                                completion:(void (^)(PKPaymentAuthorizationStatus status))completion;

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                   didSelectShippingMethod:(PKShippingMethod *)shippingMethod
                                completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray<PKPaymentSummaryItem *> *summaryItems))completion;

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                  didSelectShippingContact:(PKContact *)contact
                                completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray<PKShippingMethod *> *shippingMethods, NSArray<PKPaymentSummaryItem *> *summaryItems))completion;

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller
                    didSelectPaymentMethod:(PKPaymentMethod *)paymentMethod
                                completion:(void (^)(NSArray<PKPaymentSummaryItem *> *summaryItems))completion;

-- NORMAL --

相關推薦

iOS PassKit框架 第一—— PKPaymentAuthorizationViewController

PKPaymentAuthorizationViewController 此類彈出apple pay檢視控制器。 + (BOOL)canMakePayments;// 裝置是否能進行applepay支付 + (BOOL)canMakePaymentsUsingNetwork

iOS PassKit框架 第三——Passkit其他類

PKPaymentButton  8.3以後的applePay系統按鈕 PKAddPassButton  9.0後一個顯示“Add to Apple Wallet”的按鈕 PKAddPaymentPas

Hibernate ORM框架——第一:Hibernate簡介與操作基礎

n) next() 使用 ber std 10g ice 一個 png 一、相關使用工具的下載與導入(環境配置) hibernate-release-4.2.21.Final-->舊版本hibernate-release-5.2.10.Final-->新版本 首

SSM-1第一 認識SSM框架和Redis

自己 trac ret change 生成 初始 nts static class 第一章 認識SSM框架和Redis 1.1 Spring框架 Sring理念 Ioc 控制反轉 IOC是一個容器,在Spring中,它會認為一切Java資源都是JavaBean,

Java EE入門教程系列第一Java EE的概述(二)——Java EE技術框架和開發工具

1.3Java EE的技術框架 從技術的角度劃分,完整的Java EE分成了4個部分:元件技術、服務技術、通訊技術和架構技術。 下面給出的是一個適合初學者的體系結構簡化圖,暫時接觸不到的部分統一用“支援技術”表示,我們暫時只專注於與應用級開發相關的技術即可。 1.元件技術 這是

第一——自動化測試框架總結Cucumber

 cucumber官網地址:https://cucumber.io/ 1. 什麼是BDD BDD全稱Behavior Driven Development,譯作"行為驅動開發",是基於TDD (Test Driven Development 測試驅動開發)的軟體開

計算機作業系統第一《作業系統引論》知識框架和個人總結

作業系統的目標和作用 作業系統(OS):是直接控制和管理計算機硬體、軟體資源,合理地對各類作業進行排程,以方便使用者使用的程式集合。(重點1) OS在計算機中的地位:裸機->作業系統->應用軟體。 OS的目標:①有效性、②方便性、③可擴充性、④開放性

《使用SSM框架開發企業級應用》第一 初始MyBatis

單詞 MyBatis框架   SqlSessionFactory工廠   SqlSessionFactoryBuider構造器 SqlSession使用   Configuration配置  Mapper對映  Environment環境 Property性質    D

JAVA基礎第四-集合框架Collection篇 JAVA基礎第一-初識java JAVA基礎第二-java三大特性:封裝、繼承、多型 JAVA基礎第三-類與物件、抽象類、介面 記一次list迴圈刪除元素的突發事件!

 業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。   往期章節: JAVA基礎第一章-初識java JAVA基礎第二章-java三大特性

JAVA基礎第五-集合框架Map篇 JAVA基礎第一-初識java JAVA基礎第二-java三大特性:封裝、繼承、多型 JAVA基礎第三-類與物件、抽象類、介面 JAVA基礎第四-集合框架Collection篇

 業內經常說的一句話是不要重複造輪子,但是有時候,只有自己造一個輪子了,才會深刻明白什麼樣的輪子適合山路,什麼樣的輪子適合平地! 我將會持續更新java基礎知識,歡迎關注。   往期章節: JAVA基礎第一章-初識java

第一——一個簡單的iOS應用程式

一個簡單的iOS應用程式 在本章中,您將要編寫一個名為 Quiz 的 iOS應用程式。 此應用程式將顯示一個問題,然後在使用者點選按鈕時顯示答案。 點選另一個按鈕將向用戶顯示一個新問題(圖1.1)。 圖1.1您的第一個應用程式:Quiz 當您編寫iOS

第一 ios開發入門

1.1    iOS開發必要條件 1.1.1 iOS開發的軟硬體環境 硬體開發環境:Mac電腦,ios裝置(可選 ) 軟體開發環境:OS X,Xcode 1.1.2 iOS平臺開發語言 Objective c  1.1.3 MVC模式簡式<框架模式,設計模式>

java高階特性與實戰專案 第一集合框架——課後作業:

  建立一個類Queue 代表隊列,新增add(Object o)及get()方法,並新增main方法進行驗證import java.util.LinkedList; public class Queue { LinkedList queue; public Que

(JAVA高階特性)第一 集合框架

1,建立一個類Queue,代表隊列(特點:先進先出),新增add(Object obj)及get()方法,mian()方法驗證。package com.bdqn.demo; import java.util.ArrayList; import java.util.Linke

OpenGL ES Programming Guide for iOS 第一

關於OpenGL ES Open Graphics Library(OpenGL)用於二維及三維資料的視覺化。它是一種多用途的開放標準圖形庫,支援二維和三維數位內容創作,機械和建築設計,虛擬樣,飛行模擬,遊戲,以及更多的應用。OpenGL允許應用程式開發人員配置3D圖形管線

Unity 遊戲框架搭建 2019 (九~十二) 第一小結&第二簡介&第八個示例

第一章小結 為了強化教程的重點,會在合適的時候進行總結與快速複習。 第二章 簡介 在第一章我們做了知識庫的準備,從而讓我們更高效地收集示例。 在第二章,我們就用準備好的匯出工具試著收集幾個示例,這些示例中有的是我們後續庫的基礎工具,也有的是在專案中非常實用的小工具,還有一些示例是實踐了在框架搭建方向上非常

構建之法第一總結

運營 連續 時間 工程包 需求 開發流程 實踐 復雜 困難 軟件工程是把系統的,有序的,可量化的方法應用到軟件的開發,運營和維護上。軟件工程包括:軟件需求分析,軟件構建,軟件設計,軟件測試和軟件維護。 首先,從軟件二字理解,軟件是可以運行在計算機上及電子設備中的指

第一

同時 驅動 發現 的人 -- 結對編程 gof 而且 實踐 做事不要怕麻煩,不要為了完工期,而省略自認為不必要的環節。每一個環節都有其合理的存在性,不要因小失大。 程序發布之前,一定要做好測試工作,不要用我們的思維去運行機器語言。 有時候自認為最不可能發生的事情,恰恰就發生

人月神話第一焦油坑

介質 alt 系統 mage ima wid 人的 -1 其他 職業的樂趣: 不斷學習的樂趣 創建事物的樂趣 開發對他人有用的東西 在易於駕馭的介質上,進行開發 職業的苦惱: 將做事的方式往完美的方向調整。 往小的說:1.依賴其他人的代碼 2. 當產品終於出來時,已經

《神經網絡設計》讀書筆記第一

tails 人工 讀書筆記 進一步 結構 network 設計 消失 第一章 包括記憶在內的所有生物神經功能,都存儲在神經元及其之間的連接上。 神經網絡中關於學習的過程是 神經元之間建立新的連接或對已有連接進行修改的過程。 神經網絡的起源:M-P模型 是按照生物神經元的