Hola @inmasevilla, el problema que describes con $order->getProducts() o con que las variables no lleguen correctamente al template es muy común cuando se intenta extender el módulo ps_bankwire directamente. El hook displayPaymentReturn se ejecuta cuando la orden ya está validada, pero la forma en que se pasan y se acceden a los datos en el payment_infos.tpl original del módulo es limitada.
Además, sobrecargar hookDisplayPaymentReturn en el propio módulo ps_bankwire con un override directo de su archivo principal (ps_bankwire.php) no es la práctica más segura ni mantenible para PS 1.7.7.7, ya que futuras actualizaciones del módulo oficial pueden sobrescribir tus cambios o generar conflictos.
La forma más limpia para mostrar un resumen completo del pedido en la página de confirmación de transferencia bancaria, incluyendo los productos y otros detalles, es asegurarse de que el objeto Order se utilice correctamente y de que el template tenga acceso a una estructura de datos bien definida. Aquí te muestro cómo podrías obtener los productos de la orden de forma más robusta dentro de un hook o un módulo custom, asegurándote de que la información se prepara para Smarty:
// En un módulo custom que implemente hookDisplayPaymentReturn
// O en un override de Ps_Bankwire si es estrictamente necesario y estás seguro
public function hookDisplayPaymentReturn($params)
{
if (!$this->active) {
return;
}
$order = $params['order'];
// Asegurarse de que el objeto Order esté completamente cargado si es necesario
if (!Validate::isLoadedObject($order)) {
Este código te permite acceder a los productos del pedido y otros detalles. Luego, deberías modificar payment_infos.tpl para iterar sobre $orderProducts y mostrar lo que necesitas.
Sin embargo, para evitar estas modificaciones manuales que pueden ser frágiles y complicadas de mantener con las actualizaciones de PrestaShop (especialmente si en el futuro migras a una versión más reciente), te recomiendo usar un módulo dedicado. Existe una solución ya preparada que te ofrece esta funcionalidad de manera robusta y sin necesidad de overrides de código: el módulo Transferencia bancaria con resumen del pedido. Este tipo de módulos manejan la lógica y la integración de forma segura, garantizando la compatibilidad.