Apple Pay in Xamarin.iOS

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

Apple Pay wurde zusammen mit iOS 8 eingeführt, sodass Benutzer physische Waren wie Lebensmittel, Unterhaltung und Mitgliedschaften über ihre iOS-Geräte bezahlen können. Es ist auf iPhone 6 und iPhone 6 Plus verfügbar und kann auch mit der Apple Watch für In-Store-Einkäufe gekoppelt werden. Wenn es auf einem iPhone verwendet wird, verwendet es Touch ID als Möglichkeit, Transaktionen für das Guthaben oder die Lastschrift eines Benutzers Karte zu bestätigen und zu autorisieren.

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:

  • Zahlungsprozessorplattform
  • Händler-ID
  • 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; Essen, Unterkunft und körperliche Unterhaltung (z. B. Kinokarten) sind Beispiele dafür. Im Gegensatz dazu verkauft IAP virtuelle Güter, z. B. Premium- oder extra-Inhalte, und Abonnements – denken Sie an zusätzliche Monate an einen Streamingdienst oder an ein zusätzliches Leben in einem Spiel.

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

Mit Apple Pay gibt Apple an, dass "es Benutzern, Händlern oder Entwicklern nicht in Rechnung stellt, Apple Pay für Zahlungen zu verwenden". Im Vergleich dazu fällt für IAP eine Gebühr von 30 % für jede Transaktion an. Darüber hinaus erfolgt die Transaktion mit Apple Pay überhaupt nicht über Apple, sondern über eine Zahlungsplattform.

Verwenden einer Zahlungsprozessorplattform

Einer der grundlegenden Teile von Apple Pay ist die Verarbeitung von Zahlungen. Obwohl es möglich ist, dies selbst zu tun, erfordert dies erhebliche Kenntnisse der Kryptografie – wie im Leitfaden zur Zahlungsverarbeitung von Apple beschrieben. Zahlungsverarbeitungsplattformen hingegen verarbeiten diese Vorgänge für Sie, sodass Sie sich auf die Erstellung 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 die Einrichtung im Apple Developer Portal und in Ihrer App. Es gibt eine Reihe von Schritten, die befolgt werden sollten, um Ihre App erfolgreich für Apple Pay 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 ihr den 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 wie hier beschrieben die Apple Pay-Berechtigung aus, oder fügen Sie das Schlüssel-Wert-Paar manuell der Datei hier 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 Maps zu tätigen.

Mit iOS 10 wurden mehrere neue APIs hinzugefügt, die sowohl mit iOS als auch watchOS funktionieren, um dynamische Zahlungsnetzwerke und eine neue Sandbox-Testumgebung zu unterstützen.

Integration der Apple Pay-Website

Neu bei iOS 10 kann der Entwickler Apple Pay mithilfe von ApplePay JS direkt in seine Websites 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 iPhone oder ihrer Apple Watch überprüfen. Weitere Informationen finden Sie in der ApplePay JP Framework-Referenz.

Verbesserungen des PassKit-Frameworks

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

Unterstützung 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. Obwohl diese neue API für die Unterstützung von Apple Pay auf der Apple Watch (und auch in bestimmten Absichten) erforderlich ist, ist sie in anderen Situationen (z. B. vorhandenen Apps) optional. Apple schlägt jedoch vor, so bald wie möglich auf die neue API umzusteigen, um umfassende Apple Pay-Unterstützung für alle Apps des Entwicklers mit einer einzigen Codebasis bereitzustellen. Weitere Informationen zu Intents und Siri-Integration finden Sie in der Dokumentation Einführung in SiriKit .

Präsentieren von Ausstellerkarten in Apps

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

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

Neue Zahlungsnetzwerkunterstützung

Neu in iOS 10 kann eine App automatisch ein neues Zahlungsnetzwerk unterstützen, sobald es verfügbar wird, ohne dass der Entwickler die App ändern, neu kompilieren und erneut an die 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 verwenden. Mithilfe dieser Methoden kann eine App automatisch jedes Netzwerk unterstützen, das vom Zahlungsanbieter unterstützt wird.

Weitere Informationen finden Sie in unserer Apple Pay-Konfiguration und im Apple Pay-Leitfaden.

Neue Testumgebung

Mit iOS 10 hat Apple eine neue Testumgebung eingeführt, mit der Entwickler Testzahlungskarten direkt auf einem iOS-Gerät bereitstellen können. 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 Connect.
  2. Melden Sie sich mit dem neuen Testkonto beim iOS-Gerät an.
  3. Legen Sie die gewünschte Region fest, in der die App getestet werden soll.
  4. Verwenden Sie eine der Testzahlungskarten 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 Karten in einer Produktionsumgebung getestet wird, bevor sie an die 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 innerhalb der Entitlements.plist verwendet wird, die manuell geändert werden muss.