Migreren van Android SDK v1.1.0 naar v2.x.x

  Laatst bijgewerkt: 

 

In de volgende documentatie wordt uitgelegd wat er is veranderd tussen v1.1.0 en v2.x.x van de Android SDK en waar u rekening mee moet houden bij de migratie naar de nieuwste versie.

 

Wijzigingen in v2.x.x

We hebben de parameters bijgewerkt die worden geretourneerd bij het voltooien van de betaling. Dit omvat nu:

  • Lijst van antwoorden op verzoeken.
  • Het veld threedresponse (indien aanwezig).
  • Eventuele fouten die zijn opgetreden.
v2.x.x antwoord v1.1.0 antwoord
data class Response(
val responseJwtList: List<String> = emptyList(),
val threeDResponse: ThreeDResponse? = null,
val error: Error? = null)

In v1.1.0, als onderdeel van de Success en TransactionFailure objecten, geven we een geparseerd transactie responsobject terug.

In v2.x.x hebben we echter maar één Response object, omdat wij onze handelaren meer controle wilden geven over hoe zij het antwoord interpreteren.

Voorbeeldscenario

In v1.1.0, zou een verzoek van "THREEDQUERY","AUTH","SUBSCRIPTION" waarbij de THREEDQUERY en AUTH succesvol waren, maar de SUBSCRIPTION een fout vertoonde, de SDK een TransactionFailure object, ondanks dat de THREEDQUERY en AUTH met succes zijn verwerkt. Het tonen van een foutmelding aan de klant kan in dit specifieke scenario misleidend zijn, omdat er geld was gereserveerd op hun bankrekening.

Om de kans te verkleinen dat de klant verkeerd wordt geïnformeerd over het resultaat van de betalingstransactie, maken we in v2.x.x niet langer op deze manier onderscheid tussen succes en mislukking, en geven we nu alleen de volledige lijst met resultaten terug die u eerst moet verifiëren, parseren en vervolgens analyseren, de errorcode in elk van de antwoorden.

Wat het bovenstaande scenario betreft, zou u uw systeem zo kunnen configureren dat het de antwoorden THREEDQUERY en AUTH als een succes behandelt en het juiste antwoordbericht in de browser van de klant weergeeft (om aan te geven dat er geld is gereserveerd voor betaling), maar ook een foutbericht weergeeft om hen te informeren dat de automatische abonnementsbetalingen nog moeten worden gepland wegens een fout, en dat de klant wordt aangeraden contact met u op te nemen voor hulp.

Voordat informatie in het antwoordobject kan worden vertrouwd, moet u de handtekening van elk JWT-antwoord verifiëren.

Wij bieden een parsingprogramma om de gegevens uit payload velden te halen als onderdeel van de controle van de velden van het betalingsantwoord:

(Kotlin)

val response: PaymentTransactionManager.Response = paymentTransactionManager.executeSession(paymentSession)

//Every JWT returned from the SDK should be verified before further usage.
for (jwt in response.responseJwtList) {
if (!verifyJwtIntegrity(jwt)) {
throw SecurityException("JWT verification failed!")
}
}

val parsedResponse = ResponseParser.parse(response.responseJwtList)

//Process parsedResponse object in a similar manner as in v1.1.0
Was dit artikel nuttig?
0 van de 0 vonden dit nuttig