Aan de slag met iOS SDK

  Laatst bijgewerkt: 

 

Voordat u verder gaat, moet u ervoor zorgen dat u aan alle vereisten voldoet
Klik hier om deze informatie in een nieuw tabblad te openen

Onze GitLab repository bevat een voorbeeldapp die demonstreert hoe u onze SDK voor betalingen in uw toepassing kunt integreren. Klik hier om te bekijken.

Kenmerken

Met de Trust Payments iOS SDK kun je naadloos een vooraf gebouwde of aangepaste UI in je app integreren om kaartbetalingen te accepteren en te voldoen aan het Strong Customer Authentication (SCA) mandaat.

Gebruik deze integratie als u een vooraf gebouwde "Drop-In" UI nodig hebt die de volgende functies ondersteunt:

  • Kaartbetalingen
  • tokenisatie betalingen
  • Aanpassing van UI-componenten aan de huisstijl van uw bedrijf
  • Lokale en aangepaste vertalingen

Als u al uw eigen betaalkassaweergaven in uw iOS app hebt gebouwd, maar een methode nodig hebt om betalingen aan de Trust Payments gateway te verwerken, kunt u onze Beheerder van betalingstransacties API gebruiken.


  Klik hier voor meer informatie.

 

             

 

1. Installeer de SDK in uw app

Web_Developer_Flatline.png

Om de iOS SDK in te sluiten in je Xcode project, moet je Cocoapods gebruiken:

 

1. CocoaPods

CocoaPods is een afhankelijkheidsbeheerder voor Cocoa projecten. Ga voor gebruiks- en installatie-instructies naar hun website. Om Trust Payments SDK te integreren in je Xcode project met CocoaPods, moet je het als volgt specificeren in je Podfile :

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'

Voeg aan het einde van de Podfile het volgende toe:

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

Ga in de Terminal naar je projectmap en voer het commando uit:

pod install

 

             

 

2. Initialiseer de iOS SDK in uw app

Phone_maintenance_Flatline.png

De instantie configureren

Voordat u een betalingsverzoek kunt uitvoeren, moet u de username, gateway en environment, zoals in onderstaand voorbeeld:

  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
)

 

Controllers bekijken

Hieronder volgt een voorbeeld van hoe je een Drop-In View Controller maakt met alleen de vereiste velden:

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 Beschrijving
X3-EN.png cardinalDarkModeStyleManager Specificeert de licht/donker modus voor de ACS weergave (3-D Secure).
X3-EN.png cardinalStyleManager Specificeert de interfacestijl voor de ACS-weergave (3-D Secure).
X3-EN.png customDropInView DropInViewProtocol compliant view voor aanvullende weergaven, bijvoorbeeld voor het toevoegen van een fooi aan een betaling.
X3-EN.png dropInViewDarkModeStyleManager Specificeert de licht/donker-modus voor de Drop-In View Controller.
X3-EN.png dropInViewStyleManager Wordt gebruikt om de Drop-In View Controller aan te passen.
X1-EN.png jwt

Het ondertekende JWT.

Klik hier om te leren hoe u het JWT genereert.

X1-EN.png payButtonTappedClosureBeforeTransaction

Sluiting geactiveerd door het indrukken van de betaalknop (vlak voor de transactie - u kunt deze sluiting gebruiken om het JWT-token bij te werken)

U kunt deze sluiting gebruiken om het JWT-token bij te werken door de updateJWT() functie op de controller die als argument wordt doorgegeven.

X1-EN.png transactionResponseClosure Sluiting die wordt geactiveerd wanneer de transactie is voltooid, met de volgende eigenschappen:
  • JWT-sleutelarray met antwoorden van alle verzoeken (de handtekening van elke sleutel moet worden geverifieerd vóór het decoderen).
  • Een object dat 3-D Secure authenticatiegegevens bevat die met het AUTH verzoek worden verzonden.
  • Een foutobject dat aangeeft of er fouten zijn opgetreden bij de verbinding met de gatewayserver of tijdens de authenticatie op 3-D Secure .

Het volgende is een alternatief voorbeeld van hoe een Drop-In View Controller kan worden gemaakt met meer optionele parameters:

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
}

U kunt UI-componenten aanpassen in de Drop-In View Controller of ACS-interface (3-D Secure).
Klik hier om de instructies in een nieuw tabblad te openen.

 

Gewoon kaartinvoerveld

Hieronder wordt gedemonstreerd hoe u kaartdetailinvoerweergaven kunt maken zonder verzoeken te doen:

Het creëren van afzonderlijke UI componenten:

lazy var cardNumberInput: CardNumberInputView = {
CardNumberInputView(inputViewStyleManager: inputViewStyleManager)
}()

lazy var expiryDateInput: ExpiryDateInputView = {
ExpiryDateInputView(inputViewStyleManager: inputViewStyleManager)
}()

lazy var cvvInput: CVVInputView = {
CVVInputView(inputViewStyleManager: inputViewStyleManager)
}()

Luister dan naar CardNumberInput en de beveiligingscode aanpassen aan het vereiste aantal cijfers voor de gegeven kaart:

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

 

Beheerder van betalingstransacties

Als u al uw eigen betaalkassaweergaven in uw iOS app hebt / van plan bent te bouwen, maar een methode nodig hebt om betalingen aan de Trust Payments gateway te verwerken, kunt u onze transactiemanager-API gebruiken.

U kunt onze voorbeeld app bekijken voor voorbeelden hoe u de Beheerder van betalingstransacties kunt configureren.

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
}

Als onderdeel van dit proces, de betaalkaart velden, pan, expirydate en securitycode wordt vastgelegd op je aangepaste betalingsformulier en toegevoegd aan de JSON Web Token (JWT) payload. Om te leren hoe je het JWT construeert, klik hier om meer info te openen in een nieuw tabblad.

Als u de velden pan, expirydate en securitycode in de JWT payload die op uw handelaarsserver is aangemaakt, dan wordt dezelfde JWT (inclusief kaartgegevens) die tijdens de initialisatie is verstrekt, in het antwoord van de gateway teruggestuurd in het veld jwt.

Zorg ervoor dat alle gevoelige betalingsgegevens (pan, expirydate en securitycode) worden gezuiverd voordat ze naar uw systeem worden gelogd.

 

             

 

3. Webhooks configureren

Data_en_settings_Flatline.png

Het wordt sterk aanbevolen om webhooks te configureren op uw Mobile SDK-oplossing. Indien geconfigureerd, wordt URL-kennisgevingen naar uw systeem gestuurd wanneer betalingen op uw rekening worden verwerkt.

  Als u webhooks niet configureert zoals hieronder wordt uitgelegd, wordt u mogelijk niet op de hoogte gebracht van betalingen die op uw rekening zijn verwerkt, bijvoorbeeld in geval van client-side fouten die optreden voordat het antwoord wordt geretourneerd.

  1. Aanmelden bij Portal.

  2. Zoek naar uw sitereference met behulp van het zoekvak bovenaan de pagina.

  3. Wanneer u de details van uw site bekijkt, klikt u op "Regelbeheer".

    CI4-NL.png

  4. Selecteer het actietype "URL-kennisgeving" uit het keuzemenu en uw browser wordt omgeleid.

    CI5-EN.png

  5. Maak een nieuwe URL-kennisgeving regel aan: CI6-NL.png

  6. Zorg ervoor dat de regel actief is (dit wordt aangegeven met een vinkje onder het Actief kolom). Na activering wordt de regel toegepast op alle betalingssessies voor de opgegeven sitereference, en de URL-kennisgeving wordt geactiveerd wanneer aan de gespecificeerde voorwaarde wordt voldaan.

    Opmerking: Alle nieuwe regels moeten worden aangemaakt op je test sitereference en getest om er zeker van te zijn dat ze werken zoals verwacht voordat ze worden toegevoegd aan uw live sitereference.

  7. Jij moet configureer uw systeem om te reageren op alle URL-kennisgevingen ontvangen van Trust Payments met een HTTP 200 OK antwoord.
    Bijvoorbeeld: "HTTP/1.0 200 OK".
    Uw systeem moet binnen 8 seconden na ontvangst van een melding antwoorden.

Checklist__Flatline.png

Zodra u de bovenstaande stappen hebt voltooid, raden wij u aan terug te keren naar de Aan de slag voor meer informatie over het inschakelen van add-ons, het testen van uw oplossing en het live gaan.

Klik hier om de Aan de slag-pagina te openen.

 

Was dit artikel nuttig?
0 van de 0 vonden dit nuttig