It sounds as though WorldPay is responsible for sending the overly generic name
parameter so you aren’t in a position to control that. You will instead have to catch the request and force it to work. Something like:
function redir_404_wpse_137703() {
if (is_404() && isset($_GET['name'])) {
locate_template('some-theme-template.php',true);
exit;
}
}
add_action('template_redirect','redir_404_wpse_137703');
some-theme-template.php
will need to be constructed with get_header()
, content, and get_footer()
like normal custom templates.
The big problem I see is sorting out genuine 404s from WorldPay ones but there must be other parameters that would help sort that out.