Apple Pay v Xamarin. iOSApple Pay in Xamarin.iOS

Tato příručka se zabývá nastavením prostředí Xamarin. iOS pro použití s Apple Pay k placení za fyzické zboží, jako je potravina, zábava a členství prostřednictvím vaší aplikace. Obsahuje informace o požadovaných identifikátorech, certifikátech a oprávněních.This guide explores setting up the Xamarin.iOS environment for use with Apple Pay to pay for physical goods, such as food, entertainment, and memberships via your app. It includes information on the required identifiers, certificates and entitlements.

Apple Pay byla zavedena společně s iOS 8, takže uživatelé můžou platit za fyzické zboží, jako je jídlo, zábava a členství prostřednictvím svých zařízení s iOS.Apple Pay was introduced alongside iOS 8, enabling users to pay for physical goods such as food, entertainment, and memberships via their iOS devices. Je k dispozici na zařízeních iPhone 6 a iPhone 6 Plus a je také možné spárovat s Apple Watch pro nákupy v obchodě.It is available on iPhone 6 and iPhone 6 Plus, and can also be paired with the Apple Watch for in-store purchases. Při použití na iPhonu používá dotykové ID jako způsob, jak potvrdit a autorizovat transakce pro kreditní nebo debetní kartu uživatele.When used on an iPhone, it uses Touch ID as a way to confirm and authorize transactions to a user's credit or debit card.

PožadavkyRequirements

Apple Pay je k dispozici pouze v iOS 8 a vyšších, a proto vyžaduje minimálně Xcode 6.Apple Pay is only available within iOS 8 and above, and therefore requires a minimum of Xcode 6.

K integraci Apple Pay do vaší aplikace se taky vyžadují následující položky:The following items are also required to integrate Apple Pay into your app:

  • Platforma pro platební procesorPayment Processor Platform
  • Identifikátor obchodníkaMerchant Identifier
  • Certifikát Apple PayAn Apple Pay certificate
  • Apple Pay nárokApple Pay entitlement

V tomto dokumentu se podrobněji podíváme na tyto položky.This document will look at these items in more detail.

Rozdíly mezi Apple Pay a IAPDifferences between Apple Pay and IAP

Hlavní rozdíl mezi Apple Pay a nákupem v aplikaci (IAP) se vztahuje k produktům, které prodávají.The primary difference between Apple Pay and In-App Purchasing (IAP), pertains to the products that they sell. Fyzické zboží se prodává prostřednictvím Apple Pay; To jsou všechny příklady potravin, obytných a fyzických zábavy (například kino lístků).Physical goods are sold via Apple Pay; food, accommodation and physical entertainment (such as cinema tickets) are all examples of this. Naproti tomu IAP prodává virtuální zboží, jako je například prémiový nebo dodatečný obsah, a předplatná, která si myslí další měsíce služby streamování, nebo je ve hře navíc.In contrast, IAP sells virtual goods, such as premium or extra content, and subscriptions–think additional months of a streaming service, or extra lives in a game.

Použitá rozhraní představují také klíčový rozdíl; PassKit se používá pro Apple Pay, zatímco storekitu poskytuje rozhraní Framework API pro IAP.The frameworks used are also a key difference; PassKit is used for Apple Pay, while StoreKit provides the framework API for IAP.

Při použití Apple Pay Apple uvádí , že "[dělá] neúčtují uživatele, obchodníci nebo vývojáři, aby mohli používat Apple Pay platby".With Apple Pay, Apple states that it “[Does] not charge users, merchants or developers to use Apple Pay for Payments”. V porovnání má IAP za každou transakci 30%.In comparison, IAP has a 30% charge for each transaction. Kromě toho se při použití Apple Pay transakce neprojde společností Apple vůbec, ale projde platební platformou.Moreover, with Apple Pay, the transaction does not go through Apple at all, instead, it goes through a Payment platform.

Použití platformy platebních procesorůUsing a Payment Processor Platform

Jednou ze základních částí Apple Pay je zpracování plateb.One of the fundamental parts of Apple Pay is the processing of payments. I když je to možné, může to udělat sami, ale vyžaduje významné znalosti kryptografie – jak je popsáno v Průvodci zpracováním platebod společnosti Apple.While it is possible to do this yourself, it requires significant knowledge of cryptography - as detailed in Apple’s Payment Processing guide. Platformy pro zpracování plateb na druhé straně tyto operace zvládnete za vás, což vám umožní soustředit se na vytváření aplikací.Payment processing platforms, on the other hand, handle these operations for you, allowing you to concentrate on building your app.

Mezi dvě možnosti patří:Two options include:

Zřizování pro Apple PayProvisioning for Apple Pay

Konfigurace aplikace pro použití Apple Pay vyžaduje instalaci na portálu pro vývojáře Apple a v rámci vaší aplikace.Configuring an app to use Apple Pay requires setup on the Apple Developer Portal and within your app. Pro úspěšné zřízení aplikace pro Apple Pay je potřeba provést několik kroků:There are a number of steps that should be followed to successfully provision your app for Apple pay:

  1. Vytvořit obchodní ID:Create a Merchant ID:
    • Postupujte podle kroků uvedených tady .Follow the steps here
  2. Vytvořte ID aplikace s možností použít platbu a přidejte do ní obchodní oddělení:Create an App ID with the Apply Pay capability and add the merchant to it:
    • Postupujte podle kroků uvedených tady .Follow the steps here
  3. Vygenerujte certifikát pro obchodní ID:Generate a certificate for the Merchant ID:
    • Postupujte podle kroků uvedených tady .Follow the steps here
  4. Vygenerujte zřizovací profil s nově vytvořeným ID aplikace:Generate a Provisioning Profile with the newly created App ID:
    • Postupujte podle kroků uvedených tady .Follow the steps here
  5. Přidat Apple Pay nároků:Add Apple Pay entitlements:
    • Vyberte si nárok na předplatné Apple, jak je uvedeno tady, nebo do souboru z tohoto místa ručně přidejte pár klíč/hodnota.Select the Apple pay entitlement as detailed here, or manually add the key/value pair to the file from here

Práce s Apple PayWorking with Apple Pay

Společnost Apple provedla několik vylepšení Apple Pay v iOS 10, která umožňuje uživateli provádět zabezpečené platby z webů a prostřednictvím interakce s Siri a mapami.Apple has made several enhancements to Apple Pay in iOS 10 that allow the user to make secure payments from websites and through interaction with Siri and Maps.

S iOS 10 se přidalo několik nových rozhraní API, která pracují s iOS i watchOS, aby podporovaly dynamické platební sítě a nové prostředí pro testování izolovaného prostoru.With iOS 10, several new APIs have been added that work with both iOS and watchOS to support dynamic payment networks and a new sandbox test environment.

Apple Pay integrace webuApple Pay Website Integration

Novinka v iOS 10: vývojář může do svých webů zahrnout Apple Pay přímo pomocí APPLEPAY js.New to iOS 10, the developer can incorporate Apple Pay directly into their websites using ApplePay JS. Uživatelé, kteří si web prohlížejí pomocí Safari v iOS nebo macOS, můžou platby s Apple Pay ověřit transakcí na iPhonu nebo Apple Watch.Users browsing the website with Safari in iOS or macOS can make payments with Apple Pay by validating the transaction on their iPhone or Apple Watch. Další informace najdete v referenčních informacích k rozhraní APPLEPAY JPspolečnosti Apple.For more information, please see Apple's ApplePay JP Framework Reference.

Vylepšení architektury PassKit FrameworkPassKit Framework Enhancements

V iOS 10 se PassKit Framework rozšířil na podporu Apple Pay mimo UIKit a, aby Vystavitelé karet mohli prezentovat své vlastní karty z aplikací.In iOS 10, the PassKit framework has been expanded to support Apple Pay outside of UIKit and to allow card issuers to present their own cards from within their apps.

Podpora Apple Pay mimo UIKitSupporting Apple Pay Outside of UIKit

Pomocí PKPaymentAuthorizationController a PKPaymentAuthorixationControllerDelegatemůže aplikace podporovat stejné funkce, které poskytuje PKPaymentAuthorizationViewController bez použití UIKit.By using PKPaymentAuthorizationController and PKPaymentAuthorixationControllerDelegate, an app can support the same functionality provided by PKPaymentAuthorizationViewController without using UIKit. I když se toto nové rozhraní API vyžaduje pro podporu Apple Pay na Apple Watch (a ve specifických záměrech), je volitelné v jiných situacích (například ve stávajících aplikacích).While this new API is required for supporting Apple Pay on the Apple Watch (and in specific Intents as well), it is optional in other situations (such as existing apps). Společnost Apple ale navrhuje přesun na nové rozhraní API co nejdříve, aby bylo možné zajistit širší Apple Pay podporu všech aplikací vývojářů s jediným základem kódu.However, Apple suggests moving to the new API as soon as possible to provide broad Apple Pay support throughout all of the developer's apps with a single code base. Další informace o záměrech a integraci Siri najdete v našem úvodu k dokumentaci k sirikitu .For more information about Intents and Siri integration, please see our Introduction to SiriKit documentation.

Prezentace karet vystavitelů v rámci aplikacíPresenting Issuer Cards from within Apps

V systému iOS 10 byly do PassKit Frameworku přidány nové funkce, které umožňují vystavitelům karet prezentovat své karty v rámci svých vlastních aplikací.With iOS 10, new features have been added to the PassKit framework that allow card issuers to present their cards from within their own apps. Vývojář může PKPaymentButtonTypeInStore do uživatelského rozhraní aplikace přidat UIButton, ve kterém se zobrazí tlačítko Apple Pay pro kartu.The developer can add a PKPaymentButtonTypeInStore UIButton to the app's user interface that will display an Apple Pay button for a card.

PresentPaymentPassMetodu třídy PKPassLibrary lze také použít k programovému zobrazení karty.The PresentPaymentPass method of the PKPassLibrary class can also be used to programmatically display the card.

Podpora nové platební sítěNew Payment Network Support

Novinka v iOS 10 aplikace může automaticky podporovat novou platební síť, když je dostupná, aniž by ji musel vývojář upravovat, znovu zkompilovat a znovu ji odeslat do App Storu.New to iOS 10, an app can automatically support a new payment network when it becomes available without the developer having to modify, recompile the app and resubmit it to the App Store.

Nová metoda AvailableNetworks PKPaymentNetwork třídy umožňuje aplikaci zjistit sítě, které jsou k dispozici na zařízení uživatele za běhu.The new AvailableNetworks method of the PKPaymentNetwork class allows an app to discover the networks available on the user's device at runtime. Kromě toho se vlastnost SupportedNetworks rozšířila tak, aby jako argument převzala název poskytovatele plateb.Additionally, the SupportedNetworks property has been expanded to take the payment provider's name as an argument. Pomocí těchto metod může aplikace automaticky podporovat všechny sítě, které poskytovatel plateb podporuje.Using these methods, an app can automatically support any network that the payment provider supports.

Další informace najdete v naší konfiguraci Apple Pay a v příručce pro Apple Payod společnosti Apple.For more information, please see our Apple Pay Configuration and Apple's Apple Pay Guide.

Nové testovací prostředíNew Testing Environment

Se systémem iOS 10 zavádí společnost Apple nové testovací prostředí, které vývojářům umožňuje zřídit testovací platební karty přímo na zařízení s iOS.With iOS 10, Apple introduced a new testing environment that allows the developer to provision test payment cards directly on an iOS device. Toto nové testovací prostředí pak vrátí data plateb šifrovaných testů do aplikace.This new testing environment then returns encrypted test payment data to the app.

Chcete-li povolit nové testovací prostředí, postupujte následovně:To enable the new testing environment, do the following:

  1. Vytvořte nový účet testování iCloud v iTunes Connect.Create a new testing iCloud Account in iTunes Connect.
  2. Přihlaste se k zařízení iOS pomocí nového testovacího účtu.Log into the iOS device with the new testing account.
  3. Nastavte požadovanou oblast pro otestování aplikace v.Set the desired region to test the app in.
  4. Použijte jednu z testovacích platebních karet z průvodce Apple Pay a proveďte platby.Use one of the test payment cards from the Apple Pay Guide to make payments.

Důležité

Přepnutím účtů iCloud se zařízení automaticky přepne do nového testovacího prostředí.By switching iCloud Accounts, the device will automatically switch to the new testing environment. Apple stále ale vyžaduje , aby se aplikace otestovala se skutečnými kartami v produkčním prostředí před odesláním do obchodu s aplikacemi iTunes.However, Apple still requires the app to be tested with real cards in a production environment before submission to the iTunes App Store.

ShrnutíSummary

V tomto článku jsme prozkoumali různé položky, které jsou nutné k použití Apple Pay v rámci vaší aplikace.In this article, we explored the different items required to use Apple Pay within your app. Prohlédli jsme si, jak vytvořit obchodní ID a jak se používá v rámci oprávnění. plist, které je potřeba upravit ručně.We looked at how to create a Merchant ID, and how it is used within the Entitlements.plist, which needs to be modified manually.