Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dirección Comunicacion Online #1

Closed
DickeyFuller opened this issue Jan 14, 2015 · 25 comments
Closed

Dirección Comunicacion Online #1

DickeyFuller opened this issue Jan 14, 2015 · 25 comments

Comments

@DickeyFuller
Copy link

En la documentación no se indica cual es la dirección para la comunicación online. ¿Cuál es?
Saludos,

@juanmirod
Copy link
Owner

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!

@DickeyFuller
Copy link
Author

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

@50l3r
Copy link

50l3r commented Mar 16, 2015

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.

@juanmirod
Copy link
Owner

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.

@50l3r
Copy link

50l3r commented Mar 16, 2015

Dime un email y te mando credenciales

@juanmirod
Copy link
Owner

juanmi.rodriguez.ceron at gmail dot com perdona el retraso, a ver si este finde puedo echarle un ojo.

@manuelazo
Copy link

A mí me sucede lo mismo.
Finalmente, pudiste ver qué sucedía?

Muchas Gracias por anticipado por su dedicación y esfuerzo.

@50l3r
Copy link

50l3r commented Apr 6, 2015

Estamos en vereda de momento. Seria interesante hacer estas pruebas en produccion. Yo de momento lo tengo pendiente.

@manuelazo
Copy link

Yo estoy intentando hacerlo en un TPV que tengo que aún está en pruebas de la CECA.
Intentando descifrar wordpres ... aún

@manuelazo
Copy link

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 ...

@manuelazo
Copy link

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:

/**

  • Set up the WordPress query.
    *

  • @SInCE 2.0.0
    *

  • @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 ...

@alexsolar33
Copy link

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

@MartaIraola
Copy link

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 ?

@danemo72
Copy link

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:

<TITLE>Respuesta correcta a la comunicación ON-LINE</TITLE> $_$OKY$_$ "

@juanmirod
Copy link
Owner

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

@MartaIraola
Copy link

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 #1 (comment).

@danemo72
Copy link

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 );
}

@Alexandrump
Copy link

¡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!

@pmaojo
Copy link

pmaojo commented May 19, 2015

Hola, ¿Cómo va el asunto? Conocéis alguna alternativa o fork estable? Gracias!

@sergiofg
Copy link

sergiofg commented Jun 5, 2015

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

@jontorrado
Copy link
Contributor

Está corregido en mi fork: https://github.com/jontorrado/woocommerce-ceca-gateway

@alexsolar33
Copy link

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?

@Alexandrump
Copy link

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

@pzaballos
Copy link

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.

@juanmirod
Copy link
Owner

Cierro el issue porque parece que quedó todo solucionado con los cambios de @jontorrado Muchas gracias a todos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests