U kunt onze Mobile SDK gebruiken om terugkerende klanten in staat te stellen betalingen op uw app te verwerken zonder al hun kaartgegevens opnieuw te hoeven invoeren. Dit leidt niet alleen tot snellere en eenvoudigere betalingen voor uw klanten, maar uw bedrijf profiteert er ook van dat het geen gevoelige kaartnummers hoeft op te slaan (dit kan uw PCI-accreditatieproces vereenvoudigen).
Dit proces wordt Tokenisatie genoemd.
Dit document legt uit hoe je een Rekeningcontrole verzoek kunt gebruiken om de betalingsgegevens van de klant op te slaan voor tokenisatie. Rekeningcontrole verzoeken schrijven niet af van de bankrekening van de klant.
Maar indien gewenst, kan tokenisatie ook worden uitgevoerd op eerdere autorisatie verzoeken, waarbij de klant in rekening is gebracht, mits aan de eisen van de Gevevens in Bestand mandaat is voldaan. Om dit te doen, moet u de transactionreference van de betaling die u wilt herhalen, ga dan door naar de Configuratie voor tokenized betaling deel van dit document, dat hieronder te vinden is.
Voorwaarden
- Rekeningcontrolen worden ondersteund voor winkeliers met een Trust Payments acquiring account. Als je een andere acquiring bank gebruikt, moet je contact opnemen met ons Support Team om te controleren of deze functie wordt ondersteund voordat je verder gaat.
- Rekeningcontrolen kan alleen worden uitgevoerd voor betalingsmethoden op basis van kaarten.
Om fraude te verminderen, heeft Visa bepaald dat alle winkeliers met een Klant Categorie Code (MCC) van 6012 verplicht zijn om extra velden mee te sturen in AUTH en ACCOUNTCHECK verzoeken. Klik hier voor meer informatie.
Procesoverzicht
- Elke transactie kan worden geïdentificeerd aan de hand van hun transactionreference, een unieke identificatiecode toegewezen door Trust Payments. Wanneer een nieuwe klant via uw app bestelt, moet u ervoor zorgen dat uw eigen systeem een record bijhoudt van de transactionreference teruggestuurd.
- Uw betalingsverzoek kan het volgende omvatten transactionreference van de vorige aankoop van de klant - of Rekeningcontrole aanvragen - om het kaartnummer en de vervaldatum over te nemen voor een nieuwe aankoop (we leggen hieronder uit hoe je dit doet).
- De klant wordt gevraagd de veiligheidscode in te voeren die normaal gesproken op de achterkant van zijn kaart staat (omdat wij deze waarde om veiligheidsredenen niet in onze administratie kunnen opslaan). De klant moet deze invoeren zodat de kaartuitgever extra veiligheidscontroles kan uitvoeren.
- Wij zullen dan de getoken betaling verwerken. Zorg ervoor dat uw systeem het antwoord JWT controleert om te bevestigen dat de nieuwe betaling met succes is verwerkt.
Apple Pay ondersteunt tokenisatie niet op deze manier.
Configuratie voor het opslaan van betalingsgegevens
Om de betalingsgegevens van de klant op te slaan op het Trust Payments systeem en een referentie te verkrijgen voor gebruik bij toekomstige aankopen, kan je systeem een Rekeningcontrole verwerken met behulp van onze Mobile SDK.
De JWT configureren
U moet ervoor zorgen dat uw JWT payload bevat de volgende velden:
Specificatie veld
Veld | Formaat | Beschrijving | |
credentialsonfile | Numeriek (1) | Dit moet worden ingesteld op "1", om aan te geven dat de klant ermee instemt dat de betalingsgegevens worden opgeslagen voor toekomstige transacties. Zie hieronder voor meer informatie. | |
requesttypedescriptions | Lijst |
|
Als de credentialsonfile veld is ingediend in het verzoek en het wordt ondersteund door de verwerver die de transactie verwerkt, wordt het teruggestuurd in het antwoord JWT.
Als het antwoord van de bovengeschikte aangeeft dat er een fout is opgetreden (errorcode niet "0" is), kan de toegangscode niet worden beschouwd als een opgeslagen toegangscode, en mag u deze kaartgegevens niet gebruiken bij latere betalingen.
Betaling - Tokenizing (opslaan) van kaartgegevens - Door kaarthouder geïnitieerde transactie
Neem de volgende requesttypedescriptions op binnen de JWT payload: ["THREEDQUERY","AUTH"]
- De 3-D query wordt verwerkt. Hiermee wordt de klant geverifieerd met 3-D Secure.
- De autorisatie wordt vervolgens verwerkt. Hiermee wordt een betaling met de kaart van de klant verwerkt.
Payload voorbeeld:
{
"payload": {
"accounttypedescription": "ECOM",
"baseamount": "1050",
"credentialsonfile": "1",
"currencyiso3a": "GBP",
"requesttypedescriptions":["THREEDQUERY","AUTH"],
"sitereference": "test_site12345",
"termurl":"https://payments.securetrading.net/process/payments/mobilesdklistener"
},
"iat": 1559033849,
"iss": "jwt.user"
}
Geen betaling - Tokenizing (opslaan) van kaartgegevens - Door kaarthouder geïnitieerde transactie
Neem de volgende requesttypedescriptions op binnen de JWT payload: ["THREEDQUERY","ACCOUNTCHECK"]
- De 3-D query wordt verwerkt. Hiermee wordt de klant geverifieerd met 3-D Secure.
- Vervolgens wordt een Rekeningcontrole verwerkt op de kaart van de klant. Hiermee wordt gecontroleerd of de ingediende kaart geldig is.
Payload voorbeeld:
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":1050,
"credentialsonfile":"1",
"currencyiso3a":"GBP",
"requesttypedescriptions":["THREEDQUERY","ACCOUNTCHECK"],
"sitereference":"test_site12345",
"termurl":"https://payments.securetrading.net/process/payments/mobilesdklistener"
},
"iat":1559033849,
"iss":"jwt.user"
}
Over Gevevens in Bestand
Een opgeslagen referentie is informatie (met inbegrip van, maar niet beperkt tot, een rekeningnummer of een betalingstoken) die wordt opgeslagen om toekomstige transacties te verwerken.
Het opslaan van referenties voor toekomstig gebruik staat bekend als Gevevens in Bestand (CoF).
Visa en Mastercard hebben u opgedragen moet toestemming van de kaarthouder krijgen alvorens kaartgegevens op te slaan voor toekomstig gebruik, en dat deze moet worden gemarkeerd op het moment van de eerste autorisatie, door de credentialsonfile veld in uw verzoeken. U moet ook alle volgende betalingen markeren die gebruikmaken van eerder opgeslagen referenties, door het veld credentialsonfile veld in deze verzoeken.
Het identificeren van transacties als gebruikmakend van CoF biedt de volgende voordelen:
- Verhoogt de kans op transacties autorisatie en afwikkeling.
- Meer transparantie en een betere ervaring vanuit het perspectief van de klant.
- Het is minder waarschijnlijk dat emittenten het ontbreken van een beveiligingscode gebruiken als reden om een transactie te weigeren.
Behandeling van het antwoord
Nadat het verzoek is verwerkt, ontvangt u een enkel antwoord JWT dat het antwoord op het ACCOUNTCHECK verzoek bevat:
Elke JWT die door de SDK wordt geretourneerd, moet worden geverifieerd voordat u verdergaat. Wij bieden een parsing-hulpprogramma dat het gemakkelijker maakt om de JWT om te zetten in een transactieantwoordobject. Klik hier voor een voorbeeld hoe dit te gebruiken.
- Zorg ervoor dat de errorcode geretourneerde waarde is "0", wat wijst op succes. (U mag geen referenties opslaan als er een fout is opgetreden)
- Controleer de waarden die terugkomen in de securityresponseaddress, securityresponsepostcode en securityresponsesecuritycode velden. Klik hier voor meer informatie over deze controles en alleen doorgaan als aan de zakelijke eisen is voldaan.
Na een succesvolle tokenisatie kunt u de transactionreference in uw administratie. Dit is later nodig om een nieuwe betaling te verwerken met de opgeslagen betalingsgegevens. U kunt ook de laatste vier cijfers van de maskedpan en paymenttypedescription om aan terugkerende klanten te tonen wanneer zij hun betalingswijze voor hun volgende aankoop kiezen.
Configuratie voor tokenized betaling
Hier is een voorbeeld van een drop-in view controller met alleen het beveiligingscodeveld zichtbaar, om een transactie uit te voeren met de betalingsgegevens waarnaar een transactionreference opgeslagen op uw server:
let visibleFields = CardType.cardType(for: cardReference.cardType) == .amex ? [DropInViewVisibleFields.cvv4] : [.cvv3]
let dropInViewController = try ViewControllerFactory.shared.dropInViewController(jwt: jwt, visibleFields: visibleFields, payButtonTappedClosureBeforeTransaction: {
controller in
controller.continue()
}, transactionResponseClosure: { _, _, _ in })
De JWT configureren
U moet er ook voor zorgen dat uw JWT payload bevat de volgende velden:
Specificatie veld
Veld | Formaat | Beschrijving | |
credentialsonfile | Numeriek (1) | Dit moet op "2" staan, om aan te geven dat de nieuwe transactie gebruik maakt van eerder opgeslagen referenties. | |
parenttransactionreference |
Alfanumeriek en koppeltekens (25) |
Dien de Transactiereferentie van het vorige verzoek in waarvan de kaartgegevens zullen worden overgenomen. | |
requesttypedescriptions | Lijst |
Deze moet ten minste de volgende soorten verzoeken bevatten: |
(Payload)
{
"payload":{
"accounttypedescription":"ECOM",
"baseamount":1050,
"currencyiso3a":"GBP",
"sitereference":"test_site12345",
"parenttransactionreference":"1-2-345",
"credentialsonfile":"2",
"termurl":"https://payments.securetrading.net/process/payments/mobilesdklistener",
"requesttypedescriptions":["THREEDQUERY","AUTH"]
},
"iat":1559033849,
"iss":"jwt.user"
}