OptionalhandleRedirect payment methods only (flow: "redirect"): after the PSP sends the customer back to returnUrl, this inspects the landing URL and resolves the payment outcome. Returns null when the URL carries no return params for this PSP (so a router can probe every registered adapter safely).
Dynamic script/SDK load — only pulled in if this PSP is active.
Renders the PSP's hosted fields into container.
Layout slot convention (split-field PSPs like Paysafe): when the host has
placed elements carrying data-payfanout-field="<fieldName>" inside the
container, the adapter mounts each hosted field INTO its slot — the host
fully owns the layout (grid, rows, spacing). Without slots, the adapter
falls back to its own stacked containers. Single-element PSPs (Stripe's
Payment Element) control layout via MountOptions.fieldOptions instead.
Must resolve 3DS/next-action challenges INLINE (iframe/modal), never full navigation. Confirm-on-client PSPs resolve with a terminal-ish status; tokenize-first PSPs resolve with status "requires_confirmation" + clientToken.