# 3DS Results

## [Overview](https://docs.forter.com/3ds-results#overview) Overview

The [3DS result](https://docs.forter.com/reference/3ds-result "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](https://docs.forter.com/3ds-results#server-side-implement-an-endpoint-for-calling-fort) Server Side: Implement an endpoint for calling Forter Results API

### [3DS Results Request](https://docs.forter.com/3ds-results#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**<br>Borderline transaction which was APPROVED by Forter only following successful 3DS<br>OR<br>Transaction which was APPROVED by Forter, and Frictionless 3DS was executed successfully in order to shift liability<br>OR<br>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" }<br>In order to simulate such Response, use card number 5222220000000005 when calling the Order API<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": {"status": "ATTEMPTED" }<br>In order to simulate such Response, use card number 4111110000001142 when calling the Order API<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "AUTHENTICATED"}<br>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**<br>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" }<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_BANK_REJECT" }<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_TECHNICAL_ISSUE" }<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "NETWORK_ERROR" }<br>In order to simulate such Response, use card number 5248481111200179 when calling the Order API<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED" }<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED_BANK_REJECT" }<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "NOT_AUTHENTICATED_TECHNICAL_ISSUE"} |
| **Forter Declined & 3DS was executed unsuccessfully**<br>Borderline transaction which was DECLINED by Forter following unsuccessful 3DS | Do not Authorize | "forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_NOT_AUTHENTICATED" }<br>In order to simulate such Response, use card number 4000000000001992 when calling the Order API<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_BANK_REJECT" }<br>In order to simulate such Response, use card number 5200000000000031 when calling the Order API<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "FRICTIONLESS_TECHNICAL_ISSUE" }<br>In order to simulate such Response, use card number 5200000000001336 when calling the Order API<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "NETWORK_ERROR" }<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED" }<br>In order to test such response, use card number 5111220000000009 when calling the Order API, and PIN Code 4567 in the challenge window<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED_BANK_REJECT" }<br>In order to simulate such Verify Response, use card number 5200000000002227 when calling the Order API, and PIN Code 1234 in the challenge window<br>OR<br>"forterDecision": "DECLINE", "verificationMethod": { "status": "NOT_AUTHENTICATED_TECHNICAL_ISSUE" }<br>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**<br>Transaction APPROVED by Forter, Frictionless 3DS attempted to shift liability, but wasn't completed successfully. | Standard Authorization<br>The messages are informative only, no need to adjust your integration with the PSP | "forterDecision": "APPROVE", "verificationMethod": { "status": "CHALLENGE_REQUESTED_BYPASSED" }<br>To simulate such Response, use the card number 4138490000000000 and the email when calling the Order API<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "ATTEMPTED_BYPASSED" }<br>To simulate such Response, use the card number 5248480000200068 and the email when calling the Order API<br>OR<br>"forterDecision": "APPROVE", "verificationMethod": { "status": "FRICTIONLESS_NOT_AUTHENTICATED_BYPASSED" }<br>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**<br>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](https://docs.forter.com/3ds-results#3ds-results-responseclient-side-call-your-server-s) 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.
