Pass the sessionResult URL-decoded to getResultOfPaymentSession. The value in the browser address bar looks like Ab02b4c0%21BQABAg... and decodes to Ab02b4c0!BQABAg... (note the exclamation mark). Hand the SDK the decoded form; the encoded form is what triggers the 500 with errorCode 701. If you are calling this from Next.js middleware, also switch that middleware to the nodejs runtime: the edge runtime lacks a working URL constructor and the SDK throws url_1.URL is not a constructor before the request even goes out.

Context: Issue Adyen/adyen-node-api-library#1467 (closed, 6 comments): A Hosted Checkout integration calling getResultOfPaymentSession (GET /sessions/{id}?sessionResult=...) got HTTP 500 with errorCode 701. The reporter's flow worked through the Drop-in submit step and only the result-fetch call failed. An Adyen maintainer reproduced the 701 by passing a wrong sessionResult and then pinned the real cause: the sessionResult string as it appears in the browser URL is percent-encoded, and passing the encoded form to the SDK method breaks the lookup.