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;
相關推薦
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模型 是按照生物神經元的