Payment Optimization
3DS Execution
Checkout with 3DS
6 min
to leverage 3ds execution, you must upgrade to v3 of the order api endpoint and use a pre authorization integration, calling forter prior to calling your payment gateway to authorize customer funds send order api request the order api is used to provide forter with all relevant data points that will help forter determine whether the entity conducting the transaction/engagement is legitimate or fraudulent the full request and response data can be found in our order api https //docs forter com/reference/v3order reference include all checkout integration docid\ ascv3xbtga2rtxlztszpb as well as additional details necessary for 3ds execution, including full card data , gateway, processor, acquirer details, etc force modes you can opt to receive only a 3ds recommendation at the time of the transaction by specifying payment\[0] creditcard threedsecure threedsexecutor = merchant in this case, if forter decides to execute 3ds, it will only return the recommendation and will not initiate 3ds itself you can force forter to execute or not execute 3ds (i e override forter’s decision) by specifying payment\[0] creditcard threedsecure execute3ds force 3ds or payment\[0] creditcard threedsecure execute3ds not supported by merchant in any case, the decision to step up to a challenge is made by the issuer during 3ds execution, after data collection you can instruct forter to indicate to the issuer that a challenge is preferable by specifying payment\[0] creditcard threedsecure requestchallenge true this will only take effect if 3ds is executed (either due to a forter recommendation or because the you forced 3ds) handle order api response outcome option 1 continue the flow in the client side the response will include managedordertoken , which you should pass back to the client side follow the instructions for checkout with 3ds /#client side handling of managedordertoken after the process is completed on the client side you should call the 3ds result docid\ hpo6jzuqe2pw4lqkburdx from your server outcome option 2 process completed, handle response in this path, you received the final results from forter and there is no need to continue the process on the client side the response will include a forterdecision that determines your next action outcome call to action order response fields forter approved transaction is approved by forter, 3ds was not executed standard authorization "forterdecision" "approve" "verificationmethod" {} to simulate this response, use mailto\ approve\@forter com in the accountowner object in the order api request forter declined transaction is declined by forter, 3ds was not executed do not authorize "forterdecision" "decline" "verificationmethod" {} to simulate this response, use mailto\ decline\@forter com in the accountowner object in the order api request forter did not review transaction was not reviewed for a fraud decision act according to policy prior to forter integration "forterdecision" "not reviewed" "recommendation" "" "verificationmethod" {} to simulate this response, use mailto\ notreviewed\@forter com in the accountowner object in the order api request if you are using forter's psd2 recommendation service, the response may include a recommendation to request an exemption from psd2 sca when requesting payment authorization outcome call to action order response fields forter approved & recommended to request an exemption from psd2 transaction is approved by forter, 3ds was not executed, and forter recommends asking for an exemption from 3ds (tra or low value) when requesting payment authorization authorize with exemption request please note that not all processors support all types of exemptions forter will recommend specific exemptions only if they are supported by the processor specified in the order request "forterdecision" "approve" "recommendation" "request sca exemption tra" to simulate, use card number 5222220000000006 and mailto\ force exemption tra\@forter com in the order api request "forterdecision" "approve" "recommendation" "request sca exemption low value" to simulate, use card number 5222220000000006 and mailto\ force exemption low value\@forter com in the order api request "forterdecision" "approve" "recommendation" "request sca exemption corp" to simulate, use card number 5222220000000006 and mailto\ force exemption corp\@forter com in the order api request forter approved & transaction is excluded from psd2 transaction is approved by forter, 3ds was not executed, and the transaction is excluded from psd2 requirements, even if it involves an eu merchant and an eu consumer the exclusion recommendation serves as an informative indicator explaining the reason why the transaction is not considered for psd2 standard authorization the exclusion message is informative only, and you do not need to include any specific value in the payment authorization request "forterdecision" "approve" "recommendation" "request sca exclusion anonymous" to simulate, use card number 5222220000000006 and mailto\ force exclusion anonymous\@forter com in the order api request "forterdecision" "approve" "recommendation" "request sca exclusion moto" to simulate, use card number 5222220000000006 and mailto\ force exclusion moto\@forter com in the order api request "forterdecision" "approve" "recommendation" "request sca exclusion one leg out" to simulate, use card number 5222220000000006 and mailto\ force exclusion one leg out\@forter com in the order api request client side handling of managedordertoken incorporate forter's client components into your website and application as explained in front end integration for 3ds docid 5xxehow8 lqabudabas s the managedordertoken from the order api response should be passed back to the client side for additional processing the merchant client side response handler should trigger forter's checkouttools managedorders manageorder(managedordertoken, {challengecontainer optionalchallengecontainer }, callback) js function with the following inputs managedordertoken which was received from the server response callback merchant's js function which will be called upon completion, and should be used to trigger 3ds result docid\ hpo6jzuqe2pw4lqkburdx api request to receive the final fraud decision and 3ds results {challengecontainer optionalchallengecontainer } , where 3ds challenge will be rendered in case required important note in case 3ds execution is not possible, you will not receive managedordertoken in the order api response and can skip this step callback style window\ checkouttools managedorders manageorder( managedordertoken, { challengecontainer () => { // render custom container for challenge modal if needed return htmlelement; // can be null to render forter's default modal } }, (error) => { if (!error) { // process is complete, call server to get results } }, ); a promise based interface is also available await window\ checkouttools managedorders manageorder( managedordertoken, { challengecontainer () => { // render custom container for challenge modal if needed return htmlelement; // can be null to render forter's default modal } }, ); // process is complete, call server to get results