We can but we’ve figured out the problem, it was ValidateProductResolvableOnOrderFinalize handler. We removed the handler from the pipeline and its works as normal.
The problem is that it calls our product adaptor but our adaptor does not return priced product data for unauthenticated users (because all our prices are account specific) and when the user is returned from the payment gateway they are appearing as unauthenticated during that stage. So it was failing the validation and failing the online orders.
edit: not when the user is returned to the site but the payment gateway posts back to the site immediately before authorizing payment - the failure/error is displayed in opayo and logged in umbraco.