Search Overlay

3DS2

You can integrate your e-commerce application directly to our platform-agnostic 3D2 Secure API so your merchants can mitigate fraud while at the same time allowing the cardholders to enjoy additional security when using their cards online. Paysafe is compliant to 3D Secure version 1.0.2.

Click the links below to view our code samples.

Authentication

Authentications auth = Authentications.Builder()
.merchantRefNum(System.Guid.NewGuid().ToString())
.amount(99999999999)
.currency("USD")
.deviceFingerprintingId("3bf74a2a-8668-4f14-b2bf-fd8e07ae2100")
.card()
.holderName("john")
.cardNum("4111111111111111")
.cardExpiry()
.month(System.DateTime.Now.Month)
.year(System.DateTime.Now.Year)
.Done()
.Done()
.merchantUrl(@"https://mysite.com")
.authenticationPurpose("PAYMENT_TRANSACTION")
.deviceChannel("BROWSER")
.messageCategory("PAYMENT")
.Build();

Authentications response = client.threeDSecureV2Service().authentications(auth);

EnrollmentChecks enrollmentChecks = client.threeDSecureService().submit(EnrollmentChecks.Builder()
.merchantRefNum(System.Guid.NewGuid().ToString())
.amount(100)
.currency("CAD")
.customerIp("204.91.0.12")
.userAgent("Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36")
.card()
.cardNum("4107857757053670")
.cardExpiry()
.month(10)
.year(2018)
.Done()
.Done()
.acceptHeader("text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/webp,*/*;q\u003d0.8")
.merchantUrl("https://www.google.com")
.Build());
Authentications response = client.threeDSecureService().submit(Authentications.Builder()
.merchantRefNum(enrollmentChecks.merchantRefNum())
.paResp(enrollmentChecks.paReq())
.enrollmentId(enrollmentChecks.id())
.Build());
Authentications auth_response = client.threeDSecureService().get(response);

Authentications auth = Authentications.Builder()
.merchantRefNum(System.Guid.NewGuid().ToString())
.amount(99999999999)
.currency("USD")
.mcc("0742")
.merchantName("Merchant Name Inc")
.merchantUrl("https://mysite.com")
.deviceFingerprintingId("3bf74a2a-8668-4f14-b2bf-fd8e07ae2100")
.card()
.holderName("john")
.cardNum("4111111111111111")
.cardExpiry()
.month(System.DateTime.Now.Month)
.year(System.DateTime.Now.Year)
.Done()
.Done()
.billingDetails()
.city("New York")
.country("US")
.state("AL")
.street("My street 1")
.street2("My street 2")
.zip("M5H 2N2")
.useAsShippingAddress(false)
.Done()
.shippingDetails()
.city("New York")
.country("US")
.state("AL")
.street("My street 1")
.street2("My street 2")
.zip("CHY987")
.shipMethod("S")
.Done()
.profile()
.cellPhone("+154657854697")
.email("example@example.com")
.phone("+154657854697")
.Done()
.deviceFingerprintingId("dd45e08a-8eab-443a-a6f3-4361f92bc7d9")
.deviceChannel("BROWSER")
.requestorChallengePreference("NO_PREFERENCE")
.messageCategory("PAYMENT")
.transactionIntent("GOODS_OR_SERVICE_PURCHASE")
.authenticationPurpose("PAYMENT_TRANSACTION")
.maxAuthorizationsForInstalmentPayment(2)
.initialPurchaseTime("2019-01-21T14:47:31.540Z")
.billingCycle()
.endDate("2014-01-26")
.frequency(1)
.Done()
.orderItemDetails()
.preOrderItemAvailabilityDate("2014-01-26")
.preOrderPurchaseIndicator("MERCHANDISE_AVAILABLE")
.reorderItemsIndicator("FIRST_TIME_ORDER")
.shippingIndicator("SHIP_TO_BILLING_ADDRESS")
.Done()
.purchasedGiftCardDetails()
.amount(1234)
.count(2)
.currency("USD")
.Done()
.userAccountDetails()
.addCardAttemptsForLastDay(1)
.changedDate("2010-01-26")
.changedRange("DURING_TRANSACTION")
.createdDate("2010-01-26")
.createdRange("NO_ACCOUNT")
.passwordChangedDate("2012-01-26")
.passwordChangedRange("NO_CHANGE")
.paymentAccountDetails()
.createdRange("NO_ACCOUNT")
.createdDate("2010-01-26")
.Done()
.priorThreeDSAuthentication()
.data("Some up to 2048 bytes undefined data")
.method("FRICTIONLESS_AUTHENTICATION")
.id("123e4567-e89b-12d3-a456-426655440000")
.time("2014-01-26T10:32:28Z")
.Done()
.shippingDetailsUsage()
.cardHolderNameMatch(true)
.initialUsageDate("2014-01-26")
.initialUsageRange("CURRENT_TRANSACTION")
.Done()
.suspiciousAccountActivity(true)
.totalPurchasesSixMonthCount(1)
.transactionCountForPreviousDay(1)
.transactionCountForPreviousYear(3)
.travelDetails()
.isAirTravel(true)
.airlineCarrier("Wizz air")
.departureDate("2014-01-26")
.destination("SOF")
.origin("BCN")
.passengerFirstName("John")
.passengerLastName("Smith")
.Done()
.userLogin()
.authenticationMethod("NO_LOGIN")
.data("Some up to 2048 bytes undefined data")
.time("2014-01-26T10:32:28Z")
.Done()
.Done()
.browserDetails()
.acceptHeader("*/*")
.colorDepthBits("24")
.customerIp("207.48.141.20")
.javascriptEnabled(true)
.javaEnabled(true)
.language("en-US")
.screenHeight(768)
.screenWidth(1024)
.timezoneOffset(240)
.userAgent("Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)")
.Done()
.Build();
Authentications response = client.threeDSecureV2Service().authentications(auth);

Authentications auth = Authentications.Builder()
.merchantRefNum(System.Guid.NewGuid().ToString())
.amount(99999999999)
.currency("USD")
.mcc("0742")
.merchantName("Merchant Name Inc")
.merchantUrl("https://mysite.com")
.deviceFingerprintingId("3bf74a2a-8668-4f14-b2bf-fd8e07ae2100")
.card()
.paymentToken("SCba8jzccp9Ou72w")
.Done()
.billingDetails()
.city("New York")
.country("US")
.state("AL")
.street("My street 1")
.street2("My street 2")
.zip("M5H 2N2")
.useAsShippingAddress(false)
.Done()
.shippingDetails()
.city("New York")
.country("US")
.state("AL")
.street("My street 1")
.street2("My street 2")
.zip("CHY987")
.shipMethod("S")
.Done()
.profile()
.cellPhone("+154657854697")
.email("example@example.com")
.phone("+154657854697")
.Done()
.deviceFingerprintingId("dd45e08a-8eab-443a-a6f3-4361f92bc7d9")
.deviceChannel("BROWSER")
.requestorChallengePreference("NO_PREFERENCE")
.messageCategory("PAYMENT")
.transactionIntent("GOODS_OR_SERVICE_PURCHASE")
.authenticationPurpose("PAYMENT_TRANSACTION")
.maxAuthorizationsForInstalmentPayment(2)
.initialPurchaseTime("2019-01-21T14:47:31.540Z")
.billingCycle()
.endDate("2014-01-26")
.frequency(1)
.Done()
.orderItemDetails()
.preOrderItemAvailabilityDate("2014-01-26")
.preOrderPurchaseIndicator("MERCHANDISE_AVAILABLE")
.reorderItemsIndicator("FIRST_TIME_ORDER")
.shippingIndicator("SHIP_TO_BILLING_ADDRESS")
.Done()
.purchasedGiftCardDetails()
.amount(1234)
.count(2)
.currency("USD")
.Done()
.userAccountDetails()
.addCardAttemptsForLastDay(1)
.changedDate("2010-01-26")
.changedRange("DURING_TRANSACTION")
.createdDate("2010-01-26")
.createdRange("NO_ACCOUNT")
.passwordChangedDate("2012-01-26")
.passwordChangedRange("NO_CHANGE")
.paymentAccountDetails()
.createdRange("NO_ACCOUNT")
.createdDate("2010-01-26")
.Done()
.priorThreeDSAuthentication()
.data("Some up to 2048 bytes undefined data")
.method("FRICTIONLESS_AUTHENTICATION")
.id("123e4567-e89b-12d3-a456-426655440000")
.time("2014-01-26T10:32:28Z")
.Done()
.shippingDetailsUsage()
.cardHolderNameMatch(true)
.initialUsageDate("2014-01-26")
.initialUsageRange("CURRENT_TRANSACTION")
.Done()
.suspiciousAccountActivity(true)
.totalPurchasesSixMonthCount(1)
.transactionCountForPreviousDay(1)
.transactionCountForPreviousYear(3)
.travelDetails()
.isAirTravel(true)
.airlineCarrier("Wizz air")
.departureDate("2014-01-26")
.destination("SOF")
.origin("BCN")
.passengerFirstName("John")
.passengerLastName("Smith")
.Done()
.userLogin()
.authenticationMethod("NO_LOGIN")
.data("Some up to 2048 bytes undefined data")
.time("2014-01-26T10:32:28Z")
.Done()
.Done()
.browserDetails()
.acceptHeader("*/*")
.colorDepthBits("24")
.customerIp("207.48.141.20")
.javascriptEnabled(true)
.javaEnabled(true)
.language("en-US")
.screenHeight(768)
.screenWidth(1024)
.timezoneOffset(240)
.userAgent("Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)")
.Done()
.Build();
Authentications response = client.threeDSecureV2Service().authentications(auth);

To obtain a deviceFingerprintingId, please check the Javascript SDK documentation.

On this Page