Plain HTML, no framework. This is what sits at the far end of
interaction.returnUrl — the address MPGS redirects the payer's browser to
once a Payment Page checkout finishes. Point a session's return URL here (via the
INITIATE_CHECKOUT request in the internal Postman collection) to see exactly
what the gateway appends, decoupled from our application entirely.
/pay/return route
never trusts it — it retrieves the order from MPGS directly and settles from that. See
Mpgs.Payments.complete_hosted_checkout/2. This page only shows you the raw
shape of the redirect.
resultIndicator
against the successIndicator issued when the session was created — but only
that check. It is a hint, not a verdict: our app treats a mismatch as a warning and still
settles from the retrieved order, because the comparison alone can't be trusted either.