Hola, necesitaría ayuda para resolver un error en una web con Woocomerce. En dicha web tan solo se contempla el modo de pago con tarjeta, en este caso con TVP virtual Redsys. El problema es que una vez completado todo el proceso de compra, y tras tener confirmación del pago en la pasarela de pago, el pedido entra en WordPress con la etiqueta de "pendiente de pago" no enviando de este modo email de confirmación de pedido. Necesito que tras realizar el pago y su confirmación, entre el pedido con etiqueta "completado" y realice el pertinente email de aviso al administrador. ¡Espero vuestros comentarios, muchas gracias!
Contenido solo visible a usuarios registrados
Hola Mario,
En este caso es normal que el pedido en Redsys se queda en pendiente de pago hasta que se cambia el estado desde el pedido, esto se hace porque el administrador tiene que comprobar en la pasarela de Resys que el pago está en su cuenta y así procesar el pago, sin embargo si deseas que los pedidos se completen de forma automática puedes probar el siguiente código que puedes añadir el functio.php de tu plantilla (preferiblemente un tema hijo)
Para ello ingresa a cu cpanel -> Administrador de archivos -> public_html y ingresa a la carpeta donde tienes los archivos de tu sitio web. Luego de ello añade lo siguiente al archivo functions.php que encontraras en wp-content -> themes -> tu_tema.
// Completar pedidos automáticamente
add_action( 'woocommerce_order_status_processing', 'actualiza_estado_pedidos_a_completado' );
add_action( 'woocommerce_order_status_on-hold', 'actualiza_estado_pedidos_a_completado' );
function actualiza_estado_pedidos_a_completado( $order_id ) {
global $woocommerce;
//ID's de las pasarelas de pago a las que afecta
$paymentMethods = array( 'redsys', 'paypal' );
if ( !$order_id ) return;
$order = new WC_Order( $order_id );
if ( !in_array( $order->payment_method, $paymentMethods ) ) return;
$order->update_status( 'completed' );
}
Este código también lo puedes añadir con un plugin como -> https://es.wordpress.org/plugins/code-snippets/ si no quieres editar el archivo, una ve lo instalas debes pulsar en fragmento de código y añadir uno nuevo
Colócale el nombre, pega las líneas de código y guarda los cambios.
Ten en cuenta que el código va a cambiar el estado de los pedidos tanto de Paypal como de Redsys a completado una vez se realiza el pago
Verifica esto y nos comentas como ha ido todo
Un Saludo