Erste Schritte mit iOS SDK

  Zuletzt aktualisiert: 

 

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.


  Klicken Sie hier, um mehr zu erfahren.

 

             

 

1. Installieren Sie das SDK in Ihrer Anwendung

Web_Developer_Flatline.png

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

Telefon_Wartung_Flatline.png

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
X3-EN.png cardinalDarkModeStyleManager Legt den Hell/Dunkel-Modus für die ACS-Ansicht fest (3-D Secure).
X3-EN.png cardinalStyleManager Gibt den Schnittstellenstil für die ACS-Ansicht an (3-D Secure).
X3-EN.png customDropInView DropInViewProtocol konforme Ansicht für zusätzliche Ansichten, z. B. für das Hinzufügen eines Trinkgelds zu einer Zahlung.
X3-EN.png dropInViewDarkModeStyleManager Legt den Hell/Dunkel-Modus für den Drop-In View Controller fest.
X3-EN.png dropInViewStyleManager Dient zum Anpassen des Drop-In View Controllers.
X1-EN.png jwt

Der signierte JWT.

Klicken Sie hier, um zu erfahren, wie Sie den JWT generieren.

X1-EN.png 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.

X1-EN.png transactionResponseClosure Abschluss, der ausgelöst wird, wenn die Transaktion abgeschlossen ist, mit den folgenden Eigenschaften:
  • JWT-Schlüssel-Array mit den Antworten aller Anfragen (die Signatur jedes Schlüssels sollte vor der Entschlüsselung überprüft werden).
  • Ein Objekt, das 3-D Secure Authentifizierungsdaten enthält, die mit der Anfrage AUTH gesendet werden.
  • Ein Fehlerobjekt, das angibt, ob bei der Verbindung zum Gateway-Server oder bei der Authentifizierung durch 3-D Secure Fehler aufgetreten sind.

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

Daten_und_Einstellungen_Flatline.png

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.

  1. Melden Sie sich auf Portal an.

  2. Suchen Sie nach Ihrem sitereference über das Suchfeld oben auf der Seite.

  3. Wenn Sie die Details Ihrer Website anzeigen, klicken Sie auf "Regel-Manager".

    CI4-EN.png

  4. Wählen Sie die Aktionsart "URL-Benachrichtigung" aus der Dropdown-Liste und Ihr Browser wird umgeleitet.

    CI5-EN.png

  5. Erstellen Sie eine neue Regel URL-Benachrichtigung : CI6-EN.png

  6. 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.

  7. 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.

Checkliste__Flatline.png

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.

Klicken Sie hier, um die Seite "Erste Schritte" zu öffnen.

 

War dieser Artikel hilfreich?
0 von 0 Personen fanden dies hilfreich