juanmirod / woocommerce-ceca-gateway

CECA gateway for Woocomerce Wordpress plugin
GNU General Public License v3.0
22 stars 21 forks source link

Pago completado #9

Open karug opened 7 years ago

karug commented 7 years ago

Buenas.

Después de realizar el pago en Ceca, me devuelve a la pagina de pedido recibido, pero no me actualiza el pedido a completo, no se porque no ejecuta la función de successful_request donde actualiza el pedido a completado.

Tengo el modo pruebas activado y no consigo encontrar cual es el problema.

karug commented 7 years ago

Por cierto, tengo la versión 4.7.2 de WordPress y la 2.6.4 de WooCommerce

juanmirod commented 7 years ago

Hola Karug, ¿Puedes probar en modo normal? Creo que le ha pasado a otros que en modo de pruebas como a tí pero luego se arreglaba al quitar el modo de pruebas, supongo que por algún problema de configuración, https o algo así.

karug commented 7 years ago

Buenas, no he podido probar aun en modo de producción porque aun no nos han dado la clave real. En cuanto me la den probaré a ver si funciona.

karug commented 7 years ago

Buenas.

Ya he podido probar en modo real y tampoco los pone como completados, tengo todos los productos como virtuales y descargables, así que no se que puede ocurrir.

Por cierto, he probado también solo con virtual y solo con descargable y nada. He añadido en el código que cada vez que entre en la función successful_request incluya una nota en la orden del pedido y nunca llega a entrar en esa función.

Un saludo.

vitogq commented 7 years ago

Hola @karug has podido conseguir que te funcione? A mi me da un error similar y al usar la solucion del #4 me dice que hay un error de comunicación, no se si es similar lo que nos pasa pero si lo has solucionado te agradecería me comentaras como lo has hecho.

Orioldu commented 7 years ago

Yo he añadido este código en el functions.php y cuando el cliente realiza el pago, el pedido aparece en "procesando pedido" en vez de a la espera de pago

add_action( 'woocommerce_thankyou', 'custom_woocommerce_auto_complete_order' ); function custom_woocommerce_auto_complete_order( $order_id ) { if ( ! $order_id ) { return; }   $order = wc_get_order( $order_id ); $metodo = $order->payment_method; if ($metodo != 'bacs'){   wp_mail( 'correo@mitiendaonline.com', 'Nuevo pedido por tarjeta', 'Has recibido un nuevo pedido pagado con tarjeta' ); $order->update_status( 'processing' ); } }

SI lo que quieres es que el pedido se ponga en estado completado, cambia el "processing" por "completed", si no te funciona, pon este código:

$order->payment_complete(); en vez de $order->update_status( 'processing' );