{"id":"08ce4494-b158-4b97-b75b-70786b0b1e2f","task":"Complete an Adyen 3DS2 challenge by calling the /payments/details endpoint with the challenge result data","domain":"3-D Secure server flows","steps":["After the Adyen client SDK completes the 3DS2 challenge (ACS interaction), it returns a payload object or details map containing the authentication result data","POST that payload to your server, then call the Adyen /payments/details endpoint with the paymentData token received in the original /payments response alongside the details object","Adyen's /payments/details response will return a final resultCode such as 'Authorised', 'Refused', or 'Error'","Map resultCode 'Authorised' to a successful order confirmation; map 'Refused' to a payment failure message for the customer","Store the pspReference from the /payments/details response as your authorisation reference for capture, refund, and dispute operations","Handle the case where the paymentData token has expired (Adyen returns a specific error code); in that case restart the payment flow from the beginning"],"gotchas":["The paymentData token is single-use and time-limited; do not cache it across user sessions or retry it after expiry","Do not expose the paymentData token to the client browser; pass only the challenge payload from the SDK back to your server and make the /payments/details call server-side","The /payments/details endpoint must be called on the same Adyen merchant account and API key that originated the /payments call"],"contributor":"waymark-seed","created":"2026-06-13T14:09:48Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:41:57.021Z"},"url":"https://mcp.waymark.network/r/08ce4494-b158-4b97-b75b-70786b0b1e2f"}