Aan de slag met Android SDK

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 voorbeeld-app die demonstreert hoe u onze SDK voor betalingen in uw toepassing kunt integreren. Onze voorbeelden zijn voornamelijk geschreven in Kotlin, maar er zijn ook voorbeelden in Java. Klik hier om te bekijken.

Kenmerken

Met de Trust Payments Android SDK kun je naadloos een kant-en-klare 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 in uw Android app al uw eigen betaalkassaweergaven hebt gebouwd, maar een methode nodig hebt om betalingen naar 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

CP68-NL.png

Om de Mobile SDK in je project op te nemen, moet je gebruik maken van Gradle, een bouwautomatiseringsprogramma dat functies voor afhankelijkheidsbeheer biedt:

 

Gradle

Zorg ervoor dat Maven Central op de lijst van repositories staat in je build op projectniveau.gradle bestand:

allprojects {
repositories {
mavenCentral()
...
}
...
}

Om de Mobile SDK te integreren, voegt u de volgende afhankelijkheden toe aan uw app-level build.gradle bestand:

 U moet de volgende bronnen raadplegen en de laatste pakketversienummers opnemen in de onderstaande plaatshouders:
//Trust Payments SDK core dependency
implementation com.trustpayments.mobile:core:<latest Maven package version number>
//Optional UI module providing ready-to-use "drop-in" view
implementation com.trustpayments.mobile:ui:<latest Maven package version number>

 

             

 

2. Initialiseer de Android SDK in uw app

CA12-NL.png

De instantie configureren

Voordat u een betalingsverzoek kunt uitvoeren, moet een instantie van PaymentTransactionManager nodig is. Om het te instantiëren moet u de toepassingscontext opgeven en de gebruikersnaam en de gateway instellen. Je moet ook een waarde opgeven voor isCardinalLive vlag (indien ingesteld op waar, worden alle 3-D Secure-gerelateerde operaties gericht op de 3-D Secure live omgeving, anders wordt de staging omgeving gebruikt). De parameter, cardinalStyleManageris optioneel en maakt het mogelijk de UI aan te passen voor 3-D Secure views. isLocationDataConsentGiven parameter geeft aan de SDK aan of uw app toestemming heeft gekregen van de klant om de locatie van zijn apparaat vast te leggen als onderdeel van het privacybeleid van uw app. Voorbeeld PaymentTransactionManager constructorgebruik hieronder:

PaymentTransactionManager(
context = applicationContext,
gatewayType = TrustPaymentsGatewayType.EU,
isCardinalLive = false,
merchantUsername = usernameFromTrustPayments,
cardinalStyleManager = null,
isLocationDataConsentGiven = false
)

Vanaf v2.7.10.1 van de Android SDK hebben we een extra parameter toegevoegd aan de SDK's PaymentTransactionManager klasse genaamd isLocationDataConsentGiven. Standaard, isLocationDataConsentGiven is ingesteld op false, wat betekent dat de klant niet heeft ingestemd met het privacybeleid van uw app waarin toestemming wordt gevraagd om de locatiegegevens van het apparaat vast te leggen. De informatie die nodig is om het privacybeleid aan de klant te tonen kan worden gevonden hier.

Om de kans te verkleinen dat uw klanten door de kaartuitgever worden uitgedaagd voor verdere verificatie, moet u het volgende invullen:

  1. Zodra uw klant heeft ingestemd met het privacybeleid van uw app, dat ook locatiegegevens omvat, moet de toestemming voor het privacybeleid van uw app worden doorgegeven aan de Trust Payments SDK. PaymentTransactionManager instantie door de instelling isLocationDataConsentGiven als waar. 

  2. Verzoek dat GPS kan worden ingeschakeld indien deze momenteel door de app-klant is uitgeschakeld.
  3. Maak een locatie toestemmingsprompt wanneer uw app een instantie van de PaymentTransactionManager klasse. U moet machtigingen opnemen in het manifestbestand:
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    Als de klant toestemming voor toegang tot de apparaatlocatie heeft verleend aan uw app, zal de SDK proberen de apparaatlocatie vast te leggen. Raadpleeg de officiële best practices van Google voor best practices voor het genereren van de toestemmingsprompt voor de apparaatlocatie: https://support.google.com/googleplay/android-developer/answer/11150561

Voor een voorbeeld van hoe u het privacybeleid in uw app aan klanten kunt presenteren voor aanvaarding door de klant, kunt u verwijzen naar onze voorbeeldtoepassingsklasse PrivacyPolicyActivity.kt 

Voor een voorbeeld van hoe u in uw app de vraag om toestemming voor de locatie aan klanten kunt presenteren, kunt u onze voorbeeldtoepassing raadplegen BaseActivity en verwijzen naar checkLocationPermission() voor de weergave van de locatieaanvraag.

 

Blaas de Drop-In Payment View

Om onze standaard Drop-In Payment View op te blazen, moet u deze toevoegen aan een geschikt XML-bestand:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true">

<com.trustpayments.mobile.ui.dropin.DropInPaymentView
android:id="@+id/dropInPaymentView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="20dp" />
</ScrollView>

Vervolgens moet een aan deze lay-out gerelateerde activiteit de vereiste listener interface implementeren en de voor deze Drop-In Payment View voorziene methoden overschrijven. Die methoden zullen alle nodige gegevens verstrekken om de PaymentTransactonManager en een transactie verwerken.

Voorbeeld:

class SampleActivity : AppCompatActivity(R.layout.activity_sample),
DropInPaymentView.DropInPaymentViewListener {

private var paymentSession: PaymentSession

private val paymentTransactionManager =
PaymentTransactionManager(
context = this,
gatewayType = TrustPaymentsGatewayType.EU,
isCardinalLive = false,
merchantUsername = BuildConfig.MERCHANT_USERNAME
cardinalStyleManager = null,
isLocationDataConsentGiven = false
)

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
dropInPaymentView.dropInPaymentViewListener = this
paymentSession = paymentTransactionManager.createSession({jwtToken})
}

// notify about the payment form data changes (PAN, Expiry Date, CVV)
override fun onInputValid(paymentInputType: PaymentInputType, input: String) {
when (paymentInputType) {
PaymentInputType.PAN -> paymentSession.cardPan = input
PaymentInputType.ExpiryDate -> paymentSession.cardExpiryDate = input
PaymentInputType.CVV -> paymentSession.cardSecurityCode = input
}
}

// notify about the Pay Button click event
override fun onPayButtonClicked() {
val result: PaymentSessionResponse =
paymentTransactionManager.executeSession(
paymentSession
)
// process the result
}
}

  Bij het oproepen van de createSession methode moet je een JSON Web Token (JWT) opgeven. De payload van dit token bevat de details van het betalingsverzoek. Om te leren hoe u het JWT construeert, klik hier om meer info te openen in een nieuw tabblad.

 

Beheerder van betalingstransacties

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

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

val paymentTransactionManager =
PaymentTransactionManager(
context = applicationContext,
gatewayType = TrustPaymentsGatewayType.EU,
isCardinalLive = false,
merchantUsername = usernameFromTrustpayments,
cardinalStyleManager = null,
isLocationDataConsentGiven = false
)

paymentTransactionManager.executeSession(paymentSession, activity, activityResultProvider)

Bij het oproepen van de paymentTransactionManager.executeSession methode en ook het specificeren van THREEDQUERY in de JWT payload requesttypedescriptions veldlijst, moet u ervoor zorgen om executeSession met parameters activityProvider en activityResultProvider.

De activityProvider is een callback naar een Activity. De Activity zou het venster in uw Android app zijn en dit moet bekend zijn bij onze betalings SDK om met succes het 3-D Secure versie 2 native challenge venster aan uw klanten te tonen.

activityResultProvider zal nodig zijn om ervoor te zorgen dat het resultaat van het 3-D Secure versie 1 webview challenge venster wordt teruggestuurd naar het Activity gespecificeerd in activityProvider.

In onze Gitlab repository hebben we verschillende app voorbeelden en het volgende gelinkte voorbeeld demonstreert hoe u een pay by card met 3-D Secure oplossing zou configureren. Klik hier om dit in een nieuw tabblad te openen.

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 alvorens in te loggen op uw systeem.

 

             

 

3. Webhooks configureren

CJ26-NL.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. Log in op MyST.

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

    CJ1-EN.png

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

    CA5-NL.png

  5. Maak een nieuwe URL-kennisgeving regel aan: CA6-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 response.
    Bijvoorbeeld: “HTTP/1.0 200 OK”.
    Uw systeem moet binnen 8 seconden na ontvangst van een melding antwoorden.

CP72-NL.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
Hebt u meer vragen? Dien een verzoek in