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.

 

             

 

1. Installeer de SDK in uw app

Om de iOS SDK in uw Xcode project in te bouwen, moet u een van de volgende afhankelijkheidsbeheerders 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 :

pod 'TrustPayments'

 

2. Carthage

Carthage is een gedecentraliseerde dependency manager die de nodige afhankelijkheden bouwt en je voorziet van binaire frameworks. Om Trust Payments SDK in je Xcode te integreren met behulp van Carthage, specificeer je het als volgt in je Cartfile :

git "https://gitlab.com/trustpayments-public/mobile-sdk/ios"

Zodra u Carthage heeft geïnstalleerd, kunt u beginnen met het toevoegen van frameworks aan uw project. Klik hier om te leren hoe.

  Trust Payments Mobile SDK gebruikt xcframeworks voor zijn afhankelijkheden. Zorg ervoor dat u Carthage versie 0.38 of nieuwer gebruikt. Voer dan uit:

carthage update --platform ios --use-xcframeworks

 

             

 

2. Initialiseer de iOS SDK in uw app

De instantie configureren

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

  De gebruikersnaam moet worden opgeslagen op een veilige locatie, waar alleen de gebruiker met de juiste rechten toegang toe heeft. Je kunt een soortgelijke aanpak overwegen die is gedocumenteerd voor onze voorbeeld app, waarbij we de gebruikersnaam opslaan met behulp van de cocoapods plugin.

 

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:

let dropInVC = try ViewControllerFactory.shared.dropInViewController(
jwt: jwt,
payButtonTappedClosureBeforeTransaction: {
(controller: DropInController) in
},
transactionResponseClosure: {
(
jwt: [String],
transactionResult: TPAdditionalTransactionResult?,
error: APIClientError?
)
in
}
)
  Parameter Beschrijving
  Optioneel cardinalDarkModeStyleManager Specificeert de licht/donker modus voor de ACS weergave (3-D Secure).
  Optioneel cardinalStyleManager Specificeert de interfacestijl voor de ACS-weergave (3-D Secure).
  Optioneel customDropInView DropInViewProtocol compliant view voor aanvullende weergaven, bijvoorbeeld voor het toevoegen van een fooi aan een betaling.
  Optioneel dropInViewDarkModeStyleManager Specificeert de licht/donker-modus voor de Drop-In View Controller.
  Optioneel dropInViewStyleManager Wordt gebruikt om de Drop-In View Controller aan te passen.
  Verplicht jwt

Het ondertekende JWT.

Klik hier om te leren hoe u het JWT genereert.

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

  Verplicht transactionResponseClosure Sluiting die wordt geactiveerd wanneer de transactie is voltooid, met de volgende eigenschappen:
  • jwt: Een ondertekend JWT teruggestuurd door de betaalgateway, dat het laatst verwerkte verzoek bevat. Als u bijvoorbeeld een THREEDQUERY, AUTH aanvraagt en de klant wordt door de kaartuitgever niet gevraagd om zich te authenticeren, dan zal het JWT-antwoordobject zowel het THREEDQUERY als AUTH bevatten. Als de klant wordt uitgedaagd, zal alleen het AUTH aanwezig zijn. Daarom is het belangrijk om het Verzoektype te verifiëren voordat wordt aangenomen dat de betaling succesvol is geautoriseerd. (De handtekening van elke sleutel moet worden geverifieerd voordat deze wordt gedecodeerd).
  • transactieResultaat: Een object dat 3-D Secure authenticatieresultaatgegevens bevat wanneer een kaartuitgever de klant uitdaagt, dat moet worden verzonden als onderdeel van het AUTH .
  • fout: Een foutobject dat aangeeft of er fouten zijn opgetreden bij het verbinden met de gatewayserver of tijdens de 3-D Secure authenticatie.

Je kunt UI-componenten in de Drop-In View Controller aanpassen aan de huisstijl van je bedrijf.
Klik hier om de instructies in een nieuw tabblad te openen.

 

Kaartinvoervelden

Als alternatief voor onze Drop-In View Controller bieden we integrators de mogelijkheid om afzonderlijke kaartcomponenten te maken voor PAN, vervaldatum en beveiligingscode. Je kunt deze componenten opnemen in je reeds bestaande view controller voor het afrekenen van betalingen, zoals hieronder getoond:

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 delegate methode en pas de beveiligingscode aan om het vereiste aantal cijfers voor de gegeven kaart weer te geven:

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

Zodra de klant op de betaalknop heeft geklikt, moet je een instantie maken van onze SDK's paymentTransactionManager aanmaken en de methode performTransaction aanroepen, zoals in de volgende stap wordt getoond.

 

Beheerder van betalingstransacties

  Bij de volgende oplossing worden gevoelige betalingsgegevens verzonden. Bij het ontwikkelen van uw oplossing moet u ervoor zorgen dat uw systeem het kaartnummer, de vervaldatum of de beveiligingscode NIET opslaat of registreert. Als u dit niet doet, wordt uw PCI-compliance ongeldig.

Als je van plan bent om onze individuele kaartcomponenten te gebruiken, zoals hierboven vermeld, of als je al een eigen betaalkaartingang hebt / van plan bent te bouwen, maar een methode nodig hebt om betalingen naar de Trust Payments gateway te verwerken, kun je onze transactiemanager-API gebruiken.

Je kunt onze voorbeeld app bekijken om te zien hoe je de Beheerder van betalingstransacties configureert.

let paymentTransactionManager = try PaymentTransactionManager(jwt: .empty)

paymentTransactionManager.performTransaction(jwt: jwt, card: card, transactionResponseClosure: {jwt, transactionResult, error in})

Zodra je een instantie van de paymentTransactionManagerhebt gemaakt, kun je de methode performTransaction aanroepen om een betalingsverzoek in te dienen. Bij het aanroepen van performTransaction moet je rekening houden met de volgende parameters:

  Verplicht jwt

De ondertekende JWT die op uw server is gemaakt en waarvan payload alle details met betrekking tot de transactie moet bevatten, bijv. facturering, verzending, bedrag, bestelreferentie, enz.

Klik hier om te leren hoe u het JWT genereert.

  Verplicht card

Het kaartobject wordt gemaakt vanuit de app en bevat de pan, vervaldatum en beveiligingscode, bijv.

Card(cardNumber: 
	CardNumber(rawValue: "4111111111111111"),
	cvv: CVV(rawValue: "123"),
	expiryDate: ExpiryDate(rawValue: "12/2026")
)
  Verplicht transactionResponseClosure Sluiting die wordt geactiveerd wanneer de transactie is voltooid, met de volgende eigenschappen:
  • jwt: Een ondertekend JWT teruggestuurd door de betaalgateway, dat het laatst verwerkte verzoek bevat. Als u bijvoorbeeld een THREEDQUERY, AUTH aanvraagt en de klant wordt door de kaartuitgever niet gevraagd om zich te authenticeren, dan zal het JWT-antwoordobject zowel het THREEDQUERY als AUTH bevatten. Als de klant wordt uitgedaagd, zal alleen het AUTH aanwezig zijn. Daarom is het belangrijk om het Verzoektype te verifiëren voordat wordt aangenomen dat de betaling succesvol is geautoriseerd. (De handtekening van elke sleutel moet worden geverifieerd voordat deze wordt gedecodeerd).
  • transactieResultaat: Een object dat 3-D Secure authenticatieresultaatgegevens bevat wanneer een kaartuitgever de klant uitdaagt, dat moet worden verzonden als onderdeel van het AUTH .
  • fout: Een foutobject dat aangeeft of er fouten zijn opgetreden bij het verbinden met de gatewayserver of tijdens de 3-D Secure authenticatie.

 

             

 

3. Webhooks configureren

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



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



  5. Maak een nieuwe URL-kennisgeving regel aan:

  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.

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