Take each SecurePay request apart. Every piece: what it means → who handles it → what you build (green BUILD box). Orange = new in this hop, green = carried from an earlier hop.
Security rules: the browser carries only public or one-time values (client_id, state, code); secrets and tokens go server-to-server. The Auth Server signs tokens; A and B only verify them locally with its public key. Every protected request ends as Authentication → controller, 401 (who are you?) or 403 (not allowed).