Clessx Posted January 19, 2015 Share Posted January 19, 2015 (edited) Hola amigos Estoy trabajando en un modulo de pago para prestashop 1.6 y solo me falta realizar que cuando el cliente realice el pago con tarjeta de credito se actualice el pedido en la base de datos como pagado y obviamente también me aparezca en el admin en el apartado pedidos como pagado. El problema es que no se que clase realiza esto y mucho menos como utilizarla. Podria hacerlo a mano sin utilizar clases, pero me interesa aprender a utilizar las clases de prestashop sin tener que llamar directamente a la BD. ¿alguna ayuda de como hacerlo?, ojala pudieran darme algun ejemplo del codigo a utilizar. Muchas gracias de antemano. Edited January 20, 2015 by Clessx (see edit history) Link to comment Share on other sites More sharing options...
jesa Posted January 19, 2015 Share Posted January 19, 2015 En la clase PaymentModule tienes el método validateOrder, por ese método pasan la mayoría sino todos los métodos de pago. Si te creas tus constantes del estado que quieres poner y demás yo creo que te vale. Espero que te sea de ayuda. Link to comment Share on other sites More sharing options...
Clessx Posted January 19, 2015 Author Share Posted January 19, 2015 Gracias Jesa, voy a revisar y comento Link to comment Share on other sites More sharing options...
Clessx Posted January 19, 2015 Author Share Posted January 19, 2015 Estoy trabajando pero no se que parametros pasarle a la funcion validate order o de que forma. ¿alguna ayuda con el codigo para este metodo?, se agradece cualquier ayuda. Link to comment Share on other sites More sharing options...
jesa Posted January 19, 2015 Share Posted January 19, 2015 Lo mejor que puedes hacer es coger un módulo que realice un pago parecido al tuyo y guiarte por ese. Si estás haciendo un módulo de pago con tarjeta de crédito serán todos más o menos iguales, cambiarán los parámetros que se pasan a la pasarela y lo que devuelve, pero el resto tiene que ser igual. Es la mejor manera que tienes de no complicarte mucho la vida. Link to comment Share on other sites More sharing options...
Clessx Posted January 20, 2015 Author Share Posted January 20, 2015 Hola Gracias por la ayuda, estuve haciendo lo de coger otro mudulo de pago similar y de ahi copiar parte del codigo, pero tengo problemas con el ValidateOrder, me da el siguiente error al pasarle los parametros throw new PrestaShopException('Can\'t load Order state status'); ¿alguna idea? Gracias de antemano Link to comment Share on other sites More sharing options...
Clessx Posted January 20, 2015 Author Share Posted January 20, 2015 Lo otro es que estoy intentando utilizar Order::getOrderByCartId para conseguir el id de la orden pero me returna falso, debe ser porque no esta creado. ¿como puedo crear la orden a partir del carro de compra en mi pagina de aterrisaje luego que el banco me envia que la transacción se hizo correctamente? Gracias nuevamente a quien me pueda ayudar. Link to comment Share on other sites More sharing options...
jesa Posted January 20, 2015 Share Posted January 20, 2015 Puede ser que le estés pasando un estado que no exista? Otra cosa, puede que te toque reescribir ese método porque si recuerdo bien hace comprobaciones y según el estado hace una cosa o hace otra. Si has creado un estado nuevo para pasarle puede ser que no entre en ningún sitio y te salte la excepción. De todos modos, si copias otro módulo creo que no deberías tener problemas, como te dije es cambiar los parámetros que envías y los que recibes...a partir de ahí el pedido entiendo que estará pagado como en el resto de módulos de pago con tarjeta y no tendrías que tocar estados. Link to comment Share on other sites More sharing options...
Clessx Posted January 20, 2015 Author Share Posted January 20, 2015 Vale gracias por tu ayuda. Ya termine el modulo Básicamente es lo que decías copiar parámetros y al final entre probar y probar resulto. Saludos =) Link to comment Share on other sites More sharing options...
Recommended Posts