3DS Results - Overviews

3DS Results

Overview Overview

The 3DS result API should be called in case 3DS was executed, for fetching Forter's fraud decision and 3DS results.

Server Side: Implement an endpoint for calling Forter Results API Server Side: Implement an endpoint for calling Forter Results API

3DS Results Request 3DS Results Request

To call the Forter Results API in this endpoint, please provide the managedOrderToken from the Order Response.

Outcome Call to Action Order Response Fields
Forter Approved & 3DS was executed successfully
Borderline transaction which was APPROVED by Forter only following successful 3DS
OR
Transaction which was APPROVED by Forter, and Frictionless 3DS was executed successfully in order to shift liability
OR
PSD2 transaction which was APPROVED by Forter, 3DS was executed in order to comply PSD2 and succeeded
with 3DS results "forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS" }
In order to simulate such Response, use card number 5222220000000005 when calling the Order API
OR
"forterDecision": "APPROVE", "verificationMethod": {"status": "ATTEMPTED" }
In order to simulate such Response, use card number 4111110000001142 when calling the Order API
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "AUTHENTICATED"}
In order to simulate such Response, use card number 5111220000000009 when calling the Order API, and PIN Code 1234 in the challenge window
Forter Approved & 3DS was executed unsuccessfully
PSD2 transaction which was APPROVED by Forter, 3DS was executed in order to comply PSD2 regulation and failed
Do not Authorize "forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_NOT_AUTHENTICATED" }
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_BANK_REJECT" }
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_TECHNICAL_ISSUE" }
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "NETWORK_ERROR" }
In order to simulate such Response, use card number 5248481111200179 when calling the Order API
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED" }
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED_BANK_REJECT" }
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED_TECHNICAL_ISSUE"}
Forter Declined & 3DS was executed unsuccessfully
Borderline transaction which was DECLINED by Forter following unsuccessful 3DS
Do not Authorize "forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_NOT_AUTHENTICATED" }
In order to simulate such Response, use card number 4000000000001992 when calling the Order API
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_BANK_REJECT" }
In order to simulate such Response, use card number 5200000000000031 when calling the Order API
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_TECHNICAL_ISSUE" }
In order to simulate such Response, use card number 5200000000001336 when calling the Order API
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "NETWORK_ERROR" }
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED" }
In order to test such response, use card number 5111220000000009 when calling the Order API, and PIN Code 4567 in the challenge window
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED_BANK_REJECT" }
In order to simulate such Verify Response, use card number 5200000000002227 when calling the Order API, and PIN Code 1234 in the challenge window
OR
"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED_TECHNICAL_ISSUE" }
In order to simulate such Response, use card number 5200000000003332 when calling the Order API, and PIN Code 1234 in the challenge window
Forter Approved, Frictionless 3DS was attempted unsuccessfully
Transaction APPROVED by Forter, Frictionless 3DS attempted to shift liability, but wasn't completed successfully.
Standard Authorization
The messages are informative only, no need to adjust your integration with the PSP
"forterDecision": "APPROVE", "verificationMethod": { "status": "CHALLENGE_REQUESTED_BYPASSED" }
To simulate such Response, use the card number 4138490000000000 and the email when calling the Order API
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "ATTEMPTED_BYPASSED" }
To simulate such Response, use the card number 5248480000200068 and the email when calling the Order API
OR
"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_NOT_AUTHENTICATED_BYPASSED" }
To simulate such Response, use the card number 4407900000000002 and the email force_3ds_frictionless_only@forter.com when calling the Order API
Forter Approved, Mastercard IDCI was executed
Transaction APPROVED by Forter, and IDCI was executed to share Forter's risk score with Mastercard
with IDCI Results "forterDecision": "APPROVE", "verificationMethod": { "status": "DATA_ONLY" }

3DS Results ResponseClient Side: Call your Server Side 3DS Results ResponseClient Side: Call your Server Side

After implementing the endpoint on your server side in Step 1, it should be called from your client side upon receiving a callback from the checkoutTools.managedOrders.manageOrder() JS function, indicating that the results are ready for fetch.