Xamarin.iOS 中的 Apple Pay
本指南會探索設定 Xamarin.iOS 環境,以搭配 Apple Pay 使用,以透過您的應用程式支付實體商品,例如食品、娛樂和會員。 其中包含必要標識碼、憑證和權利的相關信息。
Apple Pay 與 iOS 8 一起推出,可讓使用者透過 iOS 裝置支付食品、娛樂和會員等實體商品的費用。 它可在 i 電話 6 和 i 電話 6 Plus 上使用,也可以與 Apple Watch 配對進行店內購買。 在 i 電話 上使用時,它會使用 Touch ID 作為確認和授權使用者信用卡或轉帳卡交易的方式。
需求
Apple Pay 僅適用於 iOS 8 和更新版本,因此至少需要 Xcode 6。
將 Apple Pay 整合到您的應用程式時,也需要下列專案:
- 付款處理器平臺
- 商家標識碼
- Apple Pay 憑證
- Apple Pay 權利
本檔將更詳細地查看這些專案。
Apple Pay 與 IAP 之間的差異
Apple Pay 與 App 內購買 (IAP) 之間的主要差異與他們銷售的產品有關。 實體 商品是通過蘋果支付出售的;食物,住宿和體育娛樂(如電影院門票)都是這一切的例子。 相反地,IAP 會 銷售虛擬 商品,例如進階或額外內容,以及訂閱 – 思考其他幾個月的串流服務,或遊戲的額外生活。
所使用的架構也是關鍵差異;PassKit 用於 Apple Pay,而 StoreKit 則提供 IAP 的架構 API。
與蘋果支付,蘋果指出,它“不向使用者、商家或開發人員收取 收費 的 Apple Pay 費用”。 相較之下,IAP 會針對每個交易收取 30% 的費用。 此外,有了蘋果支付,交易根本不通過蘋果,而是通過支付平臺。
使用付款處理器平臺
Apple Pay 的基本部分之一是處理付款。 雖然可以自行執行這項操作,但需要對密碼編譯有重大瞭解,如 Apple 付款 處理指南中所述。 另一方面,付款處理平臺會為您處理這些作業,讓您專注於建置應用程式。
兩個選項包括:
JudoPay - 查看 github 上的 Xamarin 範例程式代碼,並在 JudoPay.com 註冊。
布建 Apple Pay
將應用程式設定為使用Apple Pay 需要在Apple Developer Portal 和您的應用程式內進行設定。 有一些步驟應該遵循,才能成功為Apple付費布建您的應用程式:
- 建立商家識別碼:
- 使用 「套用付款」功能建立應用程式識別碼,並將商家新增至其中:
- 產生商家標識碼的憑證:
- 產生具有新建立應用程式識別碼的布建設定檔:
- 新增 Apple Pay 權利:
- 選取這裏詳述的 Apple 付款權利,或從這裡手動將密鑰/值組新增至檔案
使用 Apple Pay
Apple 在 iOS 10 中對 Apple Pay 進行了數項增強功能,可讓使用者透過與 Siri 和 地圖 互動,從網站進行安全付款。
使用 iOS 10 時,已新增數個新的 API,可與 iOS 和 watchOS 搭配運作,以支援動態付款網路和新的沙箱測試環境。
Apple Pay 網站整合
iOS 10 的新手,開發人員可以使用 ApplePay JS 將 Apple Pay 直接納入其網站。 在 iOS 或 macOS 中使用 Safari 瀏覽網站的使用者,可以透過在 i 電話 或 Apple Watch 上驗證交易,透過 Apple Pay 付款。 如需詳細資訊,請參閱Apple的 ApplePay JP架構參考。
PassKit 架構增強功能
在 iOS 10 中,PassKit 架構已擴充,以支援外部 UIKit
的 Apple Pay,並允許卡片簽發者從其應用程式內展示自己的卡片。
支援 UIKit 外部的 Apple Pay
藉由使用 PKPaymentAuthorizationController 和 PKPaymentAuthorixationControllerDelegate,應用程式可以在不使用 UIKit 的情況下支援 PKPaymentAuthorizationViewController 所提供的相同功能。 雖然這個新的 API 需要支援 Apple Watch 上的 Apple Pay(以及特定意圖),但在其他情況下是選擇性的(例如現有的應用程式)。 不過,Apple 建議儘快移至新的 API,以提供廣泛的 Apple Pay 支援,在所有開發人員的應用程式都有單一程式代碼基底。 如需意圖和 Siri 整合的詳細資訊,請參閱 SiriKit 簡介檔。
從應用程式內呈現簽髮者卡片
使用 iOS 10 時,已將新功能新增至 PassKit 架構,允許卡片簽發者從自己的應用程式內呈現其卡片。 開發人員可以將 UIButton 新增 PKPaymentButtonTypeInStore
至應用程式的使用者介面,以顯示卡片的 Apple Pay 按鈕。
PresentPaymentPass
PKPassLibrary 類別的 方法也可以用來以程序設計方式顯示卡片。
新的付款網路支援
iOS 10 的新功能,當應用程式變成可用時,應用程式可以自動支援新的付款網路,而開發人員不需要修改、重新編譯應用程式,並將它重新提交至 App Store。
類別的新 AvailableNetworks 方法 PKPaymentNetwork
可讓應用程式在運行時間探索使用者裝置上可用的網路。 此外, SupportedNetworks 屬性已展開,以採用付款提供者的名稱作為自變數。 使用這些方法,應用程式可以自動支援付款提供者支援的任何網路。
如需詳細資訊,請參閱我們的 Apple Pay 設定 和 Apple 的 Apple Pay 指南。
新的測試環境
透過 iOS 10,Apple 引進了新的測試環境,可讓開發人員直接在 iOS 裝置上布建測試付款卡。 這個新的測試環境接著會將加密的測試付款數據傳回給應用程式。
若要啟用新的測試環境,請執行下列動作:
- 在 iTunes 連線 中建立新的測試 iCloud 帳戶。
- 使用新的測試帳戶登入 iOS 裝置。
- 設定要測試應用程式所需的區域。
- 使用 Apple Pay 指南中的其中一張測試付款卡進行付款。
重要
藉由切換 iCloud 帳戶,裝置會自動切換至新的測試環境。 不過,在提交至 iTunes App Store 之前,Apple 仍然需要在生產環境中使用實際卡片測試應用程式。
摘要
在本文中,我們探索了在您的應用程式中使用Apple Pay所需的不同專案。 我們已探討如何建立商家標識符,以及如何在 Entitlements.plist 中使用,這需要手動修改。