Or you could do something that’s even better : add the class or id “refreshme” to the markup in the file success.php :
<div class="col-sm-9 m-auto refreshme">
and then add this in the scripts :
$(document).ready(function(){
setInterval(function(){
$(".refreshme").load(window.location.href + " .refreshme" );
}, 3000);
});
you can also add the “refreshme” class or id to the the main container in the new refresh layout, lots of options really. Try them all.
Doing this will allow you to refresh only the status message not the entire page. Check out this gif :
Then you can change this line in Orders_model.php : (390) :
$data['order_view_url'] = $controller->pageUrl('account/order', [
to
$data['order_view_url'] = $controller->pageUrl('checkout/success', [
in order to get the email to point to this page too.