Apple Pay in Xamarin.iOS

In diesem Leitfaden erfahren Sie, wie Sie die Xamarin.iOS-Umgebung für die Verwendung mit Apple Pay einrichten können, um physische Waren zu bezahlen, z. B. Lebensmittel, Unterhaltung und Mitgliedschaften über Ihre App. Sie enthält Informationen zu den erforderlichen Bezeichnern, Zertifikaten und Berechtigungen.

Apple Pay wurde zusammen mit iOS 8 eingeführt und ermöglicht es Benutzer*innen, mit ihren iOS-Geräten für physische Güter wie Lebensmittel, Unterhaltung und Mitgliedschaften zu bezahlen. Sie ist auf dem iPhone 6 und iPhone 6 Plus verfügbar und kann auch mit der Apple Watch für Einkäufe in Geschäften gekoppelt werden. Bei der Verwendung auf einem iPhone wird Touch ID zur Bestätigung und Autorisierung von Transaktionen mit den Kredit- oder Debitkarten von Benutzer*innen verwendet.

Anforderungen

Apple Pay ist nur in iOS 8 und höher verfügbar und erfordert daher mindestens Xcode 6.

Die folgenden Elemente sind auch erforderlich, um Apple Pay in Ihre App zu integrieren:

  • Zahlungsauftragsverarbeiterplattform
  • Händlerbezeichner
  • Ein Apple Pay-Zertifikat
  • Apple Pay-Berechtigung

In diesem Dokument werden diese Elemente ausführlicher behandelt.

Unterschiede zwischen Apple Pay und IAP

Der Hauptunterschied zwischen Apple Pay und In-App-Einkauf (IAP) bezieht sich auf die Produkte, die sie verkaufen. Physische Waren werden über Apple Pay verkauft; Lebensmittel, Unterkunft und physische Unterhaltung (wie Kinotickets) sind alle Beispiele dafür. Im Gegensatz dazu verkauft IAP virtuelle Güter, z. B. Premium- oder zusätzliche Inhalte und Abonnements – denken Sie an zusätzliche Monate eines Streamingdiensts oder zusätzliche Leben in einem Spiel.

Die verwendeten Frameworks sind auch ein wichtiger Unterschied; PassKit wird für Apple Pay verwendet, während StoreKit die Framework-API für IAP bereitstellt.

Mit Apple Pay sagt Apple, dass es "[Macht] keine Benutzer, Händler oder Entwickler auf, Apple Pay für Zahlungen zu verwenden". Im Vergleich dazu hat IAP eine Gebühr von 30 % für jede Transaktion. Darüber hinaus geht die Transaktion mit Apple Pay nicht überhaupt durch Apple, sondern durch eine Zahlungsplattform.

Verwenden einer Zahlungsauftragsverarbeiterplattform

Einer der grundlegenden Teile von Apple Pay ist die Verarbeitung von Zahlungen. Obwohl es möglich ist, dies selbst zu tun, erfordert es erhebliche Kenntnisse der Kryptografie - wie im Leitfaden zur Zahlungsverarbeitung von Apple beschrieben. Zahlungsverarbeitungsplattformen behandeln diese Vorgänge dagegen für Sie, sodass Sie sich auf das Erstellen Ihrer App konzentrieren können.

Zwei Optionen umfassen:

Bereitstellung für Apple Pay

Das Konfigurieren einer App für die Verwendung von Apple Pay erfordert setup im Apple Developer Portal und in Ihrer App. Es gibt eine Reihe von Schritten, die befolgt werden sollten, um Ihre App für Apple Pay erfolgreich bereitzustellen:

  1. Erstellen Sie eine Händler-ID:
    • Führen Sie die hier beschriebenen Schritte aus.
  2. Erstellen Sie eine App-ID mit der Funktion "Pay anwenden", und fügen Sie ihn dem Händler hinzu:
    • Führen Sie die hier beschriebenen Schritte aus.
  3. Generieren Sie ein Zertifikat für die Händler-ID:
    • Führen Sie die hier beschriebenen Schritte aus.
  4. Generieren Sie ein Bereitstellungsprofil mit der neu erstellten App-ID:
    • Führen Sie die hier beschriebenen Schritte aus.
  5. Hinzufügen von Apple Pay-Berechtigungen:
    • Wählen Sie hier die Apple-Zahlungsberechtigung aus, oder fügen Sie der Datei das Schlüssel-Wert-Paar manuell hinzu.

Arbeiten mit Apple Pay

Apple hat mehrere Verbesserungen an Apple Pay in iOS 10 vorgenommen, die es dem Benutzer ermöglichen, sichere Zahlungen von Websites und durch Interaktion mit Siri und Karten zu tätigen.

Mit iOS 10 wurden mehrere neue APIs hinzugefügt, die mit iOS und WatchOS zusammenarbeiten, um dynamische Zahlungsnetzwerke und eine neue Sandkastentestumgebung zu unterstützen.

Apple Pay-Websiteintegration

Neu bei iOS 10 kann der Entwickler Apple Pay direkt in ihre Websites mit ApplePay JS integrieren. Benutzer, die die Website mit Safari in iOS oder macOS durchsuchen, können Zahlungen mit Apple Pay vornehmen, indem Sie die Transaktion auf ihrem i Telefon oder Apple Watch überprüfen. Weitere Informationen finden Sie in der ApplePay JP Framework-Referenz von Apple.

PassKit-Framework-Verbesserungen

In iOS 10 wurde das PassKit-Framework erweitert, um Apple Pay außerhalb der UIKit App zu unterstützen und es Karte Ausstellern zu ermöglichen, ihre eigenen Karte innerhalb ihrer Apps darzustellen.

Unterstützen von Apple Pay außerhalb von UIKit

Mithilfe von PKPaymentAuthorizationController und PKPaymentAuthorixationControllerDelegate kann eine App die gleiche Funktionalität unterstützen, die von PKPaymentAuthorizationViewController bereitgestellt wird, ohne UIKit zu verwenden. Diese neue API ist zwar für die Unterstützung von Apple Pay auf der Apple Watch (und auch in bestimmten Absichten) erforderlich, ist sie in anderen Situationen (z. B. vorhandenen Apps) optional. Apple schlägt jedoch vor, so bald wie möglich zur neuen API zu wechseln, um umfassende Apple Pay-Unterstützung in allen Apps des Entwicklers mit einer einzigen Codebasis bereitzustellen. Weitere Informationen zur Intents- und Siri-Integration finden Sie in unserer Einführung in die SiriKit-Dokumentation .

Präsentieren von Ausstellerkarten aus Apps

Mit iOS 10 wurden dem PassKit-Framework neue Features hinzugefügt, mit denen Karte Aussteller ihre Karte aus ihren eigenen Apps präsentieren können. Der Entwickler kann der Benutzeroberfläche der App ein PKPaymentButtonTypeInStore UIButton-Element hinzufügen, das eine Apple Pay-Schaltfläche für eine Karte anzeigt.

Die PresentPaymentPass Methode der PKPassLibrary-Klasse kann auch verwendet werden, um die Karte programmgesteuert anzuzeigen.

Neuer Zahlungsnetzwerksupport

Neu bei iOS 10 kann eine App automatisch ein neues Zahlungsnetzwerk unterstützen, wenn sie verfügbar wird, ohne dass der Entwickler die App ändern muss, erneut kompilieren und erneut an den App Store übermitteln muss.

Mit der neuen AvailableNetworks-Methode der PKPaymentNetwork Klasse kann eine App die Netzwerke ermitteln, die zur Laufzeit auf dem Gerät des Benutzers verfügbar sind. Darüber hinaus wurde die SupportedNetworks-Eigenschaft erweitert, um den Namen des Zahlungsanbieters als Argument zu übernehmen. Mithilfe dieser Methoden kann eine App automatisch jedes Netzwerk unterstützen, das der Zahlungsanbieter unterstützt.

Weitere Informationen finden Sie in unserem Apple Pay Configuration and Apple Pay Guide.

Neue Testumgebung

Mit iOS 10 hat Apple eine neue Testumgebung eingeführt, die es dem Entwickler ermöglicht, Testzahlungs-Karte s direkt auf einem iOS-Gerät bereitzustellen. Diese neue Testumgebung gibt dann verschlüsselte Testzahlungsdaten an die App zurück.

Gehen Sie wie folgt vor, um die neue Testumgebung zu aktivieren:

  1. Erstellen Sie ein neues Test-iCloud-Konto in iTunes Verbinden.
  2. Melden Sie sich mit dem neuen Testkonto beim iOS-Gerät an.
  3. Legen Sie den gewünschten Bereich fest, in dem die App getestet werden soll.
  4. Verwenden Sie eine der Testzahlungs-Karte aus dem Apple Pay Guide, um Zahlungen zu tätigen.

Wichtig

Durch den Wechsel von iCloud-Konten wechselt das Gerät automatisch zur neuen Testumgebung. Apple erfordert jedoch weiterhin, dass die App mit echten Karte in einer Produktionsumgebung getestet wird, bevor sie an den iTunes App Store übermittelt wird.

Zusammenfassung

In diesem Artikel haben wir die verschiedenen Elemente untersucht, die für die Verwendung von Apple Pay in Ihrer App erforderlich sind. Wir haben uns angesehen, wie Sie eine Händler-ID erstellen und wie sie in der Liste "Entitlements.plist" verwendet wird, die manuell geändert werden muss.