Wie integriere ich die Braintree App in eine mobile iOS-App?
- Einführung
- Vorbereitungen und Voraussetzungen
- Installation der Braintree SDK
- Einrichten des Backend-Servers
- Integration des Client Tokens in der iOS-App
- Implementierung der Zahlungsabwicklung
- Beispielcode in Swift
- Weitere Zahlungsmethoden und Anpassungen
- Zusammenfassung
Einführung
Die Integration von Braintree in eine iOS-App ermöglicht es Ihnen, sichere und vielseitige Zahlungsoptionen bereitzustellen. Braintree ist eine Zahlungsplattform, die von PayPal betrieben wird und die Annahme von Kreditkarten, PayPal, Apple Pay, Google Pay und weiteren Zahlungsmethoden erleichtert. In diesem Leitfaden erfahren Sie, wie Sie die Braintree SDK in Ihre iOS-App integrieren und die Zahlungsabwicklung einrichten.
Vorbereitungen und Voraussetzungen
Bevor Sie beginnen, benötigen Sie ein Braintree-Konto und Zugriff auf die API-Schlüssel, die Sie im Braintree Control Panel finden. Ebenso sollten Sie über Xcode und mindestens iOS 11 oder neuer verfügen. Stellen Sie sicher, dass Ihr Projekt Swift oder Objective-C unterstützt, denn Braintree bietet SDKs für beide Sprachen an. Es ist ratsam, CocoaPods oder Swift Package Manager zu verwenden, um die SDK einfach in Ihr Projekt einzubinden.
Installation der Braintree SDK
Um Braintree in Ihr Projekt einzubinden, können Sie CocoaPods verwenden. Öffnen Sie dazu die Datei Podfile in Ihrem Projektverzeichnis und fügen Sie die folgende Zeile hinzu:
pod Braintree
Speichern Sie die Datei und führen Sie im Terminal den Befehl pod install aus. Das installiert die Braintree-Bibliothek und Ihre Abhängigkeiten. Alternativ können Sie auch den Swift Package Manager verwenden, indem Sie im Menü von Xcode File > Add Packages... wählen und die Braintree-URL https://github.com/braintree/braintree_ios hinzufügen.
Einrichten des Backend-Servers
Braintree benötigt ein serverseitiges Backend, um Zahlungs-Tokens zu erstellen und die Transaktionen zu verarbeiten. Auf Ihrem Server implementieren Sie ein Endpoint, der einen Client Token generiert und an Ihre iOS-App liefert. Dieser Token ist essenziell, damit Ihr Client mit Braintree sicher kommunizieren kann. Braintree stellt Server-SDKs für verschiedene Programmiersprachen zur Verfügung, unter anderem Node.js, PHP, Python, Ruby und Java.
Integration des Client Tokens in der iOS-App
In Ihrer iOS-App rufen Sie den Client-Token-Endpunkt Ihres Backends ab und verwenden diesen, um eine Instanz des Braintree Payment Flow zu initialisieren. Zum Beispiel können Sie in Swift eine Netzwerk-Anfrage starten, die den Token abruft, und anschließend die Braintree SDK mit dem Token initialisieren.
Implementierung der Zahlungsabwicklung
Die Braintree SDK bietet verschiedene Methoden für unterschiedliche Zahlungsmethoden. Eine häufig genutzte Methode ist die Verwendung der Drop-In UI, die eine vorgefertigte Benutzeroberfläche für Zahlungen bietet. Um die Drop-In UI zu starten, erstellen Sie zunächst eine Instanz von BTDropInRequest und übergeben diese zusammen mit dem Client Token an BTDropInController. Die UI wird dem Benutzer angezeigt, der dann seine bevorzugte Zahlungsmethode auswählen kann.
Im Callback der Drop-In UI erhalten Sie ein Zahlungs-Nonce, ein einmaliges Token, das Sie an Ihr Backend senden, um die Transaktion abzuschließen. Ihr Server verwendet die Nonce zusammen mit weiteren Informationen, um die Zahlung über die Braintree API zu verarbeiten.
Beispielcode in Swift
Ein einfaches Beispiel, um die Drop-In UI zu starten, sieht etwa so aus:
func showDropIn(clientToken: String) { let request = BTDropInRequest()let dropIn = BTDropInController(authorization: clientToken, request: request) { (controller, result, error) in
if let error = error { print("Fehler bei Drop-In: \(error.localizedDescription)") } else if (result?.isCancelled == true) { print("Benutzer hat die Zahlung abgebrochen.") } else if let result = result { let paymentMethodNonce = result.paymentMethod?.nonce print("Erhaltene Nonce: \(String(describing: paymentMethodNonce))") // Senden Sie die Nonce an Ihr Backend, um die Zahlung abzuschließen } controller.dismiss(animated: true, completion: nil) } self.present(dropIn!, animated: true, completion: nil)}let dropIn = BTDropInController(authorization: clientToken, request: request) { (controller, result, error) in
Weitere Zahlungsmethoden und Anpassungen
Neben der Drop-In UI können Sie auch individuelle Zahlungsmethoden wie Apple Pay oder PayPal direkt integrieren, wenn Sie mehr Kontrolle über das User Interface haben möchten. Dafür nutzen Sie die entsprechenden Komponenten der Braintree SDK und konfigurieren diese entsprechend den jeweiligen Anforderungen. Außerdem können Sie die Drop-In UI anpassen, um zum Beispiel bestimmte Zahlungsmethoden auszublenden oder eigene Felder hinzuzufügen.
Zusammenfassung
Die Integration von Braintree in eine iOS-App erfolgt in mehreren Schritten: Zunächst richten Sie Ihr Backend ein, das Client Tokens ausstellt. In der iOS-App binden Sie die Braintree SDK ein, um die Tokens zu nutzen und Zahlungen per Drop-In UI oder individuell zu ermöglichen. Nach Erhalt eines Zahlungs-Nonces senden Sie diesen an Ihr Backend, wo die Transaktion abgeschlossen wird. Mit dieser Integration bieten Sie Ihren Nutzern eine sichere und bequeme Möglichkeit, Zahlungen über eine breite Palette von Zahlungsmethoden abzuwickeln.
