Closed DickeyFuller closed 8 years ago
La dirección de la comunicación online debería ser:
http://example.com/?wc-api=woocommerce_api_wc_gateway_ceca
No olvides desactivar el modo sandbox.
Gracias por contribuir!
he pedido que mi banco diese de alta esa direccion pero me sigue dando error de comuniicacion. estoy usando la ultima version de wordpress y woocommerce
Saludos,
Antes que nada, muchas gracias por compartir este plugin con todo el mundo.
Tengo un problema con la url de comunicación, y es que http://example.com/?wc-api=woocommerce_api_wc_gateway_ceca me devuelve un "1", no edita el estado del pedido ni hace nada más.
Hola @50l3r, gracias por contribuir. No dispongo ahora mismo de un entorno de desarrollo para probar el plugin, si puedieras darme acceso al tuyo podría echarle un ojo, parece que no eres el primero al que le pasa y estaría bien poder arreglarlo.
Dime un email y te mando credenciales
juanmi.rodriguez.ceron at gmail dot com perdona el retraso, a ver si este finde puedo echarle un ojo.
A mí me sucede lo mismo. Finalmente, pudiste ver qué sucedía?
Muchas Gracias por anticipado por su dedicación y esfuerzo.
Estamos en vereda de momento. Seria interesante hacer estas pruebas en produccion. Yo de momento lo tengo pendiente.
Yo estoy intentando hacerlo en un TPV que tengo que aún está en pruebas de la CECA. Intentando descifrar wordpres ... aún
Creo - no estoy seguro ni sé muy bien si estoy andando bien por donde voy ... - que el problema está en la funcion wp() de wp-includes/functions.php Al menos, ahí es donde le pierdo la pista porque desde index.php --> wp-blog-header.php En wp-blog-header.php --> wp-load.php y llamada al wp() La llamado al wp() es lo que está devolviendo el 1 y a partir de ahí ya no sigue.
Si en lugar de poner http://example.com/?wc-api=woocommerce_api_wc_gateway_ceca pusiéramos http://example.com/?wc-api=CUALQUIERCOSA también devuelve 1, por lo que el problema es que no encuentra el woocommerce_api_wc_gateway_ceca en el método wp().
Bueno, eso es lo que creo !!!!.
Sigo mirando ...
Comento lo que he visto ....
1.- En index.php incluye wp-blog-header.php 2.- En wp-blog-header.php incluye wp-load.php 2.1.- En wp-load.php incluye wp-config.php 3.- Tras esto, continúa la ejecución del wp-blog-header.php con la llamada al método wp() que se encuentra en /wp-includes/functions.php.
El código fuente del método es:
/**
@param string $query_vars Default WP_Query arguments. */ function wp( $query_vars = '' ) { global $wp, $wp_query, $wp_the_query;
$wp->main( $query_vars );
if ( !isset($wp_the_query) ) $wp_the_query = $wp_query; }
Si se comenta esta línea: "$wp->main( $query_vars );" el 1 deja de existir en la llamada a http://example.com/?wc-api=CUALQUIERCOSA.
No tengo ni idea de WordPress, pero vamos una variable global llamada wp creo que tiene que ser very very important!!!, así es que veré qué hace la función main cuyo parámetro es '' porque $query_vars vale ''.
Bueno, por lo menos, voy viendo cómo carga las cosas WordPress ... no hay mal que por bien no venga ...
Usando la dirección de comunicación: http://ejemplo.es/?wc-api=woocommerce_api_wc_gateway_ceca
Código Error: ERR-001 Descripción: COMUNICACION ON-LINE INCORRECTA
No consigo comprar. Me dice que la dirección de comunicación web está mal
http://www.midominio.es/?wc-api=woocommerce_api_wc_gateway_ceca
Cuál tiene que ser ?
Tengo el mismo problema pero a ver si esto puede ayudar y encontramos la solución:
"Comunicación online con respuesta requerida En el caso que nos ocupa, en el que el comercio solicite una comunicación ON-LINE de las operaciones de compra realizadas por sus clientes, se contemplan además dos posibilidades:
Comunicación ON-LINE sin respuesta requerida . En este caso, una vez realizado el pago, el TPV virtual de Cecabank intentará comunicar la operación al comercio, pero dará por realizada correctamente la operación aunque dicha comunicación no sea posible. Es más, ni siquiera esperará recibir una respuesta desde el comercio. Comunicación ON-LINE con respuesta requerida. En este caso, si una vez realizado el pago, el programa no consigue comunicar la operación al comercio o detecta a partir de la respuesta recibida que algo no ha ido bien, anulará la operación y la dará como errónea al cliente. Para que el programa sea capaz de discernir a partir de la respuesta recibida desde el Comercio si todo ha funcionado correctamente ó si se ha producido algún error, es necesario que en la respuesta generada por el CGI del comercio aparezca el texto $$OKY$$ sólo cuando todo vaya bien, de modo similar a como figura en el siguiente ejemplo:
Hola, gracias a todos por vuestra colaboración. Siento no poder ayudar más pero ahora mismo no estoy trabajando en este area y no he podido dedicarle un rato al problema.
Según me comentó otro usuario por twitter el problema puede ser la versión de woocomerce y wordpress, puede que hayan variado algo las acciones a declarar o la forma de consultar los pedidos, para investigar más sobre el tema el changelog de woocomerce es este:
https://wordpress.org/plugins/woocommerce/changelog/
Parece que en la versión 2.2.0 se introdujeron cambios sobre las acciones.
Como decía yo no puedo dedicar más tiempo a este plugin, es un plugin que realicé hace tiempo y lo colgué por si era útil para alguien y por tener más código que mostrar cuando me lo piden, pero si alguien arregla el error las PRs son bienvenidas ;)
Gracias de nuevo
No te preocupes ! Lo he solucionado. He comprado el de Redys.
Gracias de todas formas Juan !!
;)
Marta Iraola
Tik Donostia, S.L. Universidad de Deusto de San Sebastián Innogune 20012 Donostia
Tel. 943 326600 Ext. 5698 Móvil 646 825705 marta.iraola@donostik.com
El 28/4/2015, a las 22:30, Juan Miguel Rodriguez Ceron notifications@github.com escribió:
Hola, gracias a todos por vuestra colaboración. Siento no poder ayudar más pero ahora mismo no estoy trabajando en este area y no he podido dedicarle un rato al problema.
Según me comentó otro usuario por twitter el problema puede ser la versión de woocomerce y wordpress, puede que hayan variado algo las acciones a declarar o la forma de consultar los pedidos, para investigar más sobre el tema el changelog de woocomerce es este:
https://wordpress.org/plugins/woocommerce/changelog/ https://wordpress.org/plugins/woocommerce/changelog/ Parece que en la versión 2.2.0 se introdujeron cambios sobre las acciones.
Como decía yo no puedo dedicar más tiempo a este plugin, es un plugin que realicé hace tiempo y lo colgué por si era útil para alguien y por tener más código que mostrar cuando me lo piden, pero si alguien arregla el error las PRs son bienvenidas ;)
Gracias de nuevo
— Reply to this email directly or view it on GitHub https://github.com/juanmirod/woocommerce-ceca-gateway/issues/1#issuecomment-97199068.
Con esto logramos que el módulo nos envíe un email de confirmación de pedido y al cliente. Para ello hay que poner este código en funtions.php (del tema activo):
// Workaround for the mysterious bug in Woocommerce that prevents order emails // from being sent.
add_action( 'woocommerce_thankyou', 'order_email_workaround' );
function order_email_workaround ($order_id) { global $woocommerce; $mailer = $woocommerce->mailer(); // Email customer with order-processing receipt $email = $mailer->emails['WC_Email_Customer_Processing_Order']; $email->trigger( $order_id ); // Email admin with new order email $email = $mailer->emails['WC_Email_New_Order']; $email->trigger( $order_id ); }
add_action( 'woocommerce_payment_complete', 'order_complete_email_workaround' );
function order_complete_email_workaround ($order_id) { global $woocommerce; $mailer = $woocommerce->mailer(); $email = $mailer->emails['WC_Email_Customer_Completed_order']; $email->trigger( $order_id ); }
¡Buenas por aquí!
Yo hablé hace un tiempo con @juanmirod y me pasó una version modificada al correo, pero tampoco pude hacerla funcionar del todo bien, sólo funcionaba en el modo de sandbox.
@danemo72 has conseguido hacer que el plugin funcione con tú código? Puedes añadir en un repo tu nueva version con cambios?
Yo tengo tienda activa en este momento, pero puedo montar un wordpress aparte y hacer pruebas.
Gracias!
Hola, ¿Cómo va el asunto? Conocéis alguna alternativa o fork estable? Gracias!
Para las nuevas versiones de woocommerce la dirección de comunicación online es ?wc-api=wc_gateway_ceca.
He hecho algunas correcciones en un fork, pero aún no estoy seguro de que funcione bien... https://github.com/sergiofg/woocommerce-ceca-gateway
Está corregido en mi fork: https://github.com/jontorrado/woocommerce-ceca-gateway
Ahora por fin funciona, gracias al desarrollador y a todos por vuestras aportaciones.
Hay algo que todavía se puede mejorar, despues de pinchar en IR CAJA en lugar de ir directamente a la pasarela se queda parado con este mensaje:
"Gracias, tu orden está ahora pendiente de pago, deberías ser redirigido en unos segundos a la pasarela de pago con tarjeta de CECABANK."
Con el plugin sermepa se redirige automáticamente, pero con CECA hay que pinchar en el boton PAGAR
Hay algo que se pueda cambiar para que se redirija automáticamente?
Va perfect. Respecto a lo que @alexsolar33 comenta veo en el código que crea una llamada al formulario "order", supongo que es cuestion de que el formulario se autovalide en el paso anterior. @jontorrado podrias subir a tu fork una nueva version con este cambio?
Y otra cosa más: si os falla la comunicación de CECA, comprobad que la dirección que habeis puesto en vuestro TPV virtual sea http://tudominio.com/?wc-api=wc_gateway_ceca ó si teneis SSL muy importante https://tudominio.com/?wc-api=wc_gateway_ceca. De lo contrario la operación fallará. Podeis ver el plugin activo en regaclick.com
Gracias! funciona!!. Un detalle a las indicaciones de Alexandrump , al menos para Liberbank, si informas la url de comunicación con "www." sigue dando error. Sin ellas perfecto.
Cierro el issue porque parece que quedó todo solucionado con los cambios de @jontorrado Muchas gracias a todos.
En la documentación no se indica cual es la dirección para la comunicación online. ¿Cuál es? Saludos,