Bevor Sie fortfahren, vergewissern Sie sich bitte, dass Sie alle Anforderungen erfüllt haben
Klicken Sie hier, um diese Informationen in einer neuen Registerkarte zu öffnen
Unser GitLab Repository enthält eine Beispielanwendung, die zeigt, wie Sie unser Payment SDK in Ihre Anwendung integrieren können. Klicken Sie hier zum Ansehen.
Eigenschaften
Mit dem Trust Payments iOS SDK können Sie nahtlos eine vorgefertigte oder benutzerdefinierte Benutzeroberfläche in Ihre App integrieren, um Kartenzahlungen zu akzeptieren und das Starke Kundenauthentifizierung (SCA) Mandat zu erfüllen.
Verwenden Sie diese Integration, wenn Sie eine vorgefertigte "Drop-In"-UI benötigen, die die folgenden Funktionen unterstützt:
- Kartenzahlungen
- Tokenisierung Zahlungen
- Anpassung der UI-Komponenten an das Branding Ihres Unternehmens
- Gebietsschema und benutzerdefinierte Übersetzungen
Wenn Sie bereits Ihre eigenen Kassenansichten in Ihrer iOS-App erstellt haben, aber eine Methode zur Verarbeitung von Zahlungen an das Trust Payments Gateway benötigen, können Sie unsere Zahlungsverkehrsmanager API verwenden.
1. Installieren Sie das SDK in Ihrer Anwendung
Um das iOS SDK in Ihr Xcode Projekt einzubinden, müssen Sie Cocoapods verwenden:
1. CocoaPods
CocoaPods ist ein Abhängigkeitsmanager für Cocoa Projekte. Anweisungen zur Verwendung und Installation finden Sie auf der Website des Unternehmens. Um Trust Payments SDK in Ihr Xcode Projekt mit CocoaPods zu integrieren, geben Sie es in Ihrem Podfile wie folgt an:
Replace '<TOKEN>' with the CARDINAL_TOKEN received from our Technical Support team.
pod 'CardinalMobile', :git => "https://oauth2:<TOKEN>@gitlab.com/securetrading-gl/software-development-kit/cardinal-sdk-ios", :tag =>'2.2.5-7'
Fügen Sie am Ende der Website Podfile Folgendes hinzu:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['CODE_SIGNING_ALLOWED'] ='NO'
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = "12.0"
end
if target.name == "TrustPayments"
all_filerefs = installer.pods_project.files
all_filerefs.each do |fileref|
if fileref.path.end_with?"CardinalMobile.xcframework"
build_phase = target.frameworks_build_phase
unless build_phase.files_references.include?(fileref)
build_phase.add_file_reference(fileref)
end
end
end
end
end
end
Gehen Sie im Terminal zu Ihrem Projektordner und führen Sie den Befehl aus:
pod install
2. Initialisieren Sie das iOS SDK in Ihrer App
Konfigurieren Sie die Instanz
Bevor Sie eine Zahlungsanforderung durchführen können, müssen Sie die username, gateway und environment, wie im folgenden Beispiel gezeigt:
The username is to be stored in a secure location, where only the user with the appropriate privileges can access it. You may wish to consider a similar approach documented for our sample app, whereby we store the username using the cocoapods-keys plugin <TODO ADD LINK TO READ ME SECTION ONCE PUBLISHED AS PART OF NEXT IOS RELEASE - LINK TO THE GETTTING STARTED OF README>
import TrustPaymentsCore
TrustPayments.instance.configure(
username: username_from_trustpayments,
gateway: .eu,
environment: .staging,
translationsForOverride: nil
)
Ansicht Steuergeräte
Das folgende Beispiel zeigt, wie Sie einen Drop-In View Controller erstellen, der nur die erforderlichen Felder verwendet:
import TrustPaymentsUI
do {
let dropInVC = try ViewControllerFactory.shared.dropInViewController(jwt: signedJWT, payButtonTappedClosureBeforeTransaction: nil, transactionResponseClosure: { jwt, result, error in
// Handle transaction response
}).viewController
// Present drop in view. E.g.
navigationController?.pushViewController(dropInVC, animated: true)
} catch {
// Handle initialization error
}
Parameter | Beschreibung | |
cardinalDarkModeStyleManager | Legt den Hell/Dunkel-Modus für die ACS-Ansicht fest (3-D Secure). | |
cardinalStyleManager | Gibt den Schnittstellenstil für die ACS-Ansicht an (3-D Secure). | |
customDropInView | DropInViewProtocol konforme Ansicht für zusätzliche Ansichten, z. B. für das Hinzufügen eines Trinkgelds zu einer Zahlung. | |
dropInViewDarkModeStyleManager | Legt den Hell/Dunkel-Modus für den Drop-In View Controller fest. | |
dropInViewStyleManager | Dient zum Anpassen des Drop-In View Controllers. | |
jwt |
Der signierte JWT. Klicken Sie hier, um zu erfahren, wie Sie den JWT generieren. |
|
payButtonTappedClosureBeforeTransaction |
Abschluss, der durch das Drücken des Bezahlbuttons ausgelöst wird (kurz vor der Transaktion - Sie können diesen Abschluss verwenden, um das JWT-Token zu aktualisieren) Sie können diesen Abschluss verwenden, um das JWT-Token zu aktualisieren, indem Sie die updateJWT() Funktion auf dem Controller, der als Argument übergeben wird. |
|
transactionResponseClosure |
Abschluss, der ausgelöst wird, wenn die Transaktion abgeschlossen ist, mit den folgenden Eigenschaften:
|
Nachfolgend ein alternatives Beispiel für die Erstellung eines Drop-In View Controllers mit mehr optionalen Parametern:
import TrustPaymentsUI
do {
let dropInVC = try ViewControllerFactory.shared.dropInViewController(jwt: signedJwt, customDropInView: customView, visibleFields: [.expiryDate], dropInViewStyleManager: dropInViewStyleManager, dropInViewDarkModeStyleManager: dropInViewDarkModeStyleManager, cardinalStyleManager: cardinalStyleManager, cardinalDarkModeStyleManager: cardinalDarkModeStyleManager, payButtonTappedClosureBeforeTransaction: { dropInViewController in
// Perform any action before the transaction is started
// such as updating the JWT
}, transactionResponseClosure: { jwt, result, error in
// Handle transaction result
}).viewController
// Present the Drop-In view
navigationController?.pushViewController(dropInVC, animated: true)
} catch {
// Handle initialization error
}
Sie können UI-Komponenten im Drop-In View Controller oder in der ACS-Schnittstelle anpassen (3-D Secure).
Klicken Sie hier, um die Anleitung in einer neuen Registerkarte zu öffnen.
Einfaches Karteneingabefeld
Nachfolgend wird gezeigt, wie Sie Kartendetail-Eingabeansichten erstellen können, ohne dass irgendwelche Anfragen in Ihrem Namen ausgeführt werden:
Erstellen separater UI-Komponenten:
lazy var cardNumberInput: CardNumberInputView = {
CardNumberInputView(inputViewStyleManager: inputViewStyleManager)
}()
lazy var expiryDateInput: ExpiryDateInputView = {
ExpiryDateInputView(inputViewStyleManager: inputViewStyleManager)
}()
lazy var cvvInput: CVVInputView = {
CVVInputView(inputViewStyleManager: inputViewStyleManager)
}()
Dann hören Sie auf CardNumberInput Delegate-Methode und passen Sie den Sicherheitscode an die erforderliche Anzahl von Ziffern für die gegebene Karte an:
extension SingleInputView: CardNumberInputViewDelegate {
func cardNumberInputViewDidComplete(_ cardNumberInputView: CardNumberInputView) {
cvvInput.cardType = cardNumberInputView.cardType
cvvInput.isEnabled = cardNumberInputView.isCVVRequired
}
func cardNumberInputViewDidChangeText(_ cardNumberInputView: CardNumberInputView) {
cvvInput.cardType = cardNumberInputView.cardType
cvvInput.isEnabled = cardNumberInputView.isCVVRequired
}
}
Zahlungsverkehrsmanager
Wenn Sie bereits eigene Kassenansichten in Ihrer iOS-App erstellt haben bzw. erstellen möchten, aber eine Methode zur Verarbeitung von Zahlungen an das Trust Payments Gateway benötigen, können Sie unsere Transaktionsmanager-API verwenden.
In unserer Beispiel-App finden Sie Beispiele für die Konfiguration von Zahlungsverkehrsmanager.
import TrustPaymentsCore
do {
let paymentTransactionManager = try PaymentTransactionManager(jwt: .empty)
paymentTransactionManager.performTransaction(jwt: signedJwt, card: card) { jwt, result, error in
// Handle transaction result
}
} catch {
// Handle initialization error
}
Im Rahmen dieses Prozesses werden die Felder der Zahlungskarte abgefragt, pan, expirydate und securitycode wird in Ihrem benutzerdefinierten Zahlungsformular erfasst und zum JSON-Web-Token (JWT) hinzugefügt payload. So lernen Sie, wie Sie den JWT erstellen, klicken Sie hier, um weitere Informationen in einer neuen Registerkarte zu öffnen.
Wenn Sie die Felder pan, expirydate und securitycode innerhalb des JWT payload , das auf Ihrem Händlerserver erstellt wurde, wird derselbe JWT (einschließlich der Kartendaten), der bei der Initialisierung angegeben wurde, in der Antwort des Gateways im Feld jwt.
Stellen Sie sicher, dass alle sensiblen Zahlungsdaten (pan, expirydate und securitycode) werden vor der Protokollierung in Ihrem System bereinigt.
3. Webhooks konfigurieren
Es wird dringend empfohlen, dass Sie Webhooks für Ihre Mobile SDK-Lösung konfigurieren. Wenn diese konfiguriert sind, wird URL-Benachrichtigungen an Ihr System gesendet, wenn Zahlungen auf Ihrem Konto verarbeitet werden.
Wenn Sie Webhooks nicht wie unten beschrieben konfigurieren, werden Sie möglicherweise nicht über Zahlungen benachrichtigt, die über Ihr Konto abgewickelt werden, z. B. bei clientseitigen Fehlern, die auftreten, bevor die Antwort zurückgegeben wird.
- Melden Sie sich auf Portal an.
- Suchen Sie nach Ihrem sitereference über das Suchfeld oben auf der Seite.
- Wenn Sie die Details Ihrer Website anzeigen, klicken Sie auf "Regel-Manager".
- Wählen Sie die Aktionsart "URL-Benachrichtigung" aus der Dropdown-Liste und Ihr Browser wird umgeleitet.
- Erstellen Sie eine neue Regel URL-Benachrichtigung :
- (A) Klicken Sie auf "Add new condition" und geben Sie die Umstände an, unter denen die URL-Benachrichtigung nach einer Transaktion ausgelöst werden soll. Vergewissern Sie sich, dass in dem angezeigten Feld "Anforderungen" die Option "AUTH" angekreuzt ist (d. h. die Benachrichtigung wird nach einer Zahlung ausgelöst Genehmigungen).
Klicken Sie hier, um mehr über die Konfiguration von Bedingungen zu erfahren. - (B) Klicken Sie auf "Add new action" und geben Sie den Endpunkt für die URL-Benachrichtigung an.
Klicken Sie hier, um mehr über URL-Benachrichtigung Aktionen zu erfahren. - (C) Weisen Sie der Aktion über die Dropdown-Felder die Bedingung zu und klicken Sie auf "Create rule".
- (A) Klicken Sie auf "Add new condition" und geben Sie die Umstände an, unter denen die URL-Benachrichtigung nach einer Transaktion ausgelöst werden soll. Vergewissern Sie sich, dass in dem angezeigten Feld "Anforderungen" die Option "AUTH" angekreuzt ist (d. h. die Benachrichtigung wird nach einer Zahlung ausgelöst Genehmigungen).
- Stellen Sie sicher, dass die Regel aktiv ist (dies wird durch ein Häkchen unter dem Feld Aktiv Spalte). Sobald die Regel aktiviert ist, wird sie auf alle Zahlungsvorgänge für die angegebene sitereference, und die URL-Benachrichtigung wird ausgelöst, sobald die angegebene Bedingung erfüllt ist.
Hinweis: Alle neuen Regeln sollten auf Ihrem Testsystem erstellt werden sitereference und getestet, um sicherzustellen, dass sie wie erwartet funktionieren, bevor sie in Ihr Live-System aufgenommen werden sitereference.
-
Sie muss Ihr System so konfigurieren, dass es auf alle URL-Benachrichtigungen , die von Trust Payments empfangen werden, mit einer HTTP 200 OK Antwort.
Zum Beispiel: "HTTP/1.0 200 OK".
Ihr System muss innerhalb von 8 Sekunden nach Erhalt einer Benachrichtigung antworten.
Wenn Sie die oben genannten Schritte abgeschlossen haben, empfehlen wir Ihnen, zur Seite Erste Schritte zurückzukehren, um mehr über die Aktivierung von Add-ons, das Testen Ihrer Lösung und die Verarbeitung von Live-Transaktionen zu lernen.