Jump to content

[Solucionado] Modulo API Mercado MEXICO Pago Para Prestashop 1.5 version MD5 Estandar Golden Foxi


jruiz

Recommended Posts

Que tal compañeros tengo detalles con la forma de pago "Mercado pago" y el modulo hecho por Golden Foxi

 

http://www.goldenfox...ico-gratis.html

 

Explico mi problema y espero que puedan ayudarme:

 

Dentro de mi tienda tengo agregado el modulo y configurado con mi cuenta de mercado pago ( Client_id y Client_secret ), todo esta correcto hasta este punto, una vez que agrego al carrito y tengo todo listo para pagar me manda a una pantalla la cual dice "Presione Para Abonar Su Orden".

 

post-364747-0-40999000-1354832611_thumb.png

 

Sin embargo al darle click al boton me sale una pantalla que dice

 

 

"Ops, algo deu errado

invalid md5.

Feche e tente novamente."

 

post-364747-0-04378800-1354832650_thumb.png

 

Dentro de la pagina de desplegado de este boton he encontrado que trae algunos errores

 

 

<b>Notice</b>: Undefined index: api_client_id_ar

<b>Notice</b>: Trying to get property of non-object

 

 

La cual es causado en el archivo

 

/views/templates/hook/payment_return.tpl

 

en la linea 15

 


[center]<input type="hidden" name="client_id" value="{$api_client_id_ar|escape:'htmlall':'UTF-8'}" />[/center]


[center]<input type="hidden" name="md5" value="{$api_client_id_ar|cat:$api_client_secret_ar|cat:'1'|cat:'MXN'|cat:$total_key|replace:' ':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />[/center]


 

la cual cambie por

 

 


[center]<input type="hidden" name="client_id" value="{$api_client_id_mx|escape:'htmlall':'UTF-8'}" />[/center]


[center]<input type="hidden" name="md5" value="{$api_client_id_mx|cat:$api_client_secret_mx|cat:'1'|cat:'MXN'|cat:$total_key|replace:' ':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />[/center]


 

luego entonces dejo de mostrar los errores sin embargo sigue sin funcionar.

 

¿Alguien podria decirme si este modulo le funciona bien?

¿Tiene algún otro modulo que pueda probar para Mercado Pago?

Edited by jruiz (see edit history)
Link to comment
Share on other sites

si ya modificado esto, observe que su credenciales esten activas.

 

<input type="hidden" name="client_id" value="{$api_client_id_mx|escape:'htmlall':'UTF-8'}" />
<input type="hidden" name="md5" value="{$api_client_id_mx|cat:$api_client_secret_mx|cat:'1'|cat:'MXN'|cat:$total_key|replace:' ':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />[/center]

 

saludos

Link to comment
Share on other sites

Estem,

Ingeniero, seria tan amable de editar el titulo, ya que [No funciona], da desprestigio a mi trabajo.

 

por otra parte, seria bueno que explique que el modulo fuciona y que el problema estaba en la configuracion de la moneda, de ese modo me evito andar respondiendo email y privados por el mismo problema.

 

Para los que tengan el mismo problema, deben configurar el formato de moneda correctamente, como dolar.

 

si usan otro formato tienen que reemplazar la coma "," via smaty por un punto "." , esto lo deben hacer donde se genera el MD5 y tambien en el campo precio.

 

 

Saludos

Edited by tamu secreto (see edit history)
Link to comment
Share on other sites

Estimados lo que dice tamu es correcto el modulo funciona a la perfeccion.

Gracias tamu a mi en mi caso me sirve de mucho.

 

Para aquellos que hallan tenido el problema fijense el estado de su moneda, si quieren realizen una compra en dolar dentro de su tienda y veran como funciona el modulo.

Para los que quieran mantener el formato de moneda en su tienda deberan modificar la coma por punto, para hacer esto deben añadir

 

|replace:',':'.'

 

en las siguientes lineas:

 

1-Linea del HASH

 

<input type="hidden" name="md5" value="{$api_client_id_ar|cat:$api_client_secret_ar|cat:'1'|cat:'ARS'|cat:$total_key|replace:' ':''|replace:',':'.'|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />

2-Linea del precio

<input type="hidden" name="item_unit_price" value="{$total_to_pay|replace:{$simbolo}:''|escape:'htmlall':'UTF-8'|trim|replace:',':'.'}" />

 

 

Espero que les sirva.

Saludos

Edited by carmadsu (see edit history)
Link to comment
Share on other sites

Codigo del boton

/modules/apismpmx/views/templates/hook/payment_return.tpl

 

<input type="hidden" name="md5" value="{$api_client_id_mx|cat:$api_client_secret_mx|cat:'1'|cat:'MXN'|cat:$total_key|replace:' ':''|replace:',':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />

 

<input type="hidden" name="item_unit_price" value="{$total_to_pay|replace:{$simbolo}:''|replace:',':''|escape:'htmlall':'UTF-8'|trim}" />

 

/modules/apismpmx/apismpmx.php

$hash_md5 = Configuration::get('API_CLIENT_ID_MX').Configuration::get('API_CLIENT_SECRET_MX').'1'.'MXN'.$total_key.$params['objOrder']->id.'Orden_'.$params['objOrder']->id;

 

Un saludo y gracias por la revisión esta modificación ya la tengo funcionando.

 

Dejo aqui el codigo para que lo puedan revisar, saludos

 

apismpmx.zip

Link to comment
Share on other sites

  • 3 months later...

Yo tengo el mismo problema, pero esta es la situacion

 

manejo 2 tiendas en linea, es el mismo modulo apismpmx.zip, en una tienda si funciona y en la otra me aparece invalid md5

 

que pasara?

 

www.todoparacombates.mx ( si funciona)

www.tellwireless.com ( No funciona)

 

agradesco su ayuda

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Yo tengo el mismo problema, pero esta es la situacion

 

manejo 2 tiendas en linea, es el mismo modulo apismpmx.zip, en una tienda si funciona y en la otra me aparece invalid md5

 

que pasara?

 

www.todoparacombates.mx ( si funciona)

www.tellwireless.com ( No funciona)

 

agradesco su ayuda

 

el modulo no es multi-shop

 

saludos

Link to comment
Share on other sites

Estoy tratando de usar este modulo para Venezuela pero me sigue dando el error "Codigo secreto API invalido" al tratar de configurar alguien sabe que otra cosa hay q cambiar??

 

gracias

 

Tiene que editar el archivo tpl que envia el formulario a mercado pago esta en

 

vierws/templates/hook/payment_return.tpl

 

cambie los simbolos de moneda MXN por el de su pais inlcuso en la concatenacion para generar la llave md5

 

saludos

 

PD: no recuerdo si usan tres decimales en venezuela, pero si lo hacen debe editar los remplace por el separador utilizado.

Link to comment
Share on other sites

Tiene que editar el archivo tpl que envia el formulario a mercado pago esta en

 

vierws/templates/hook/payment_return.tpl

 

cambie los simbolos de moneda MXN por el de su pais inlcuso en la concatenacion para generar la llave md5

 

saludos

 

PD: no recuerdo si usan tres decimales en venezuela, pero si lo hacen debe editar los remplace por el separador utilizado.

 

Ya lo he cambiado a esto

 

<input type="hidden" name="client_id" value="{$api_client_id_ve|escape:'htmlall':'UTF-8'}" />
<input type="hidden" name="md5" value="{$api_client_id_ve|cat:$api_client_secret_ve|cat:'1'|cat:'VEF'|cat:$total_key|replace:' ':''|replace:',':'.'|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />

 

pero da el error anteriormente señalado, cualquier ayuda sera apreciada

Edited by madehoney (see edit history)
Link to comment
Share on other sites

tendria que ver el codigo de su tienda para ver que esta sucediendo, pero en principio parece un problema de la divisa y el formato de moneda.

Los replace:... del codigo reemplazan las comas por un punto y los espacios por nada, en su caso creo que el formato de moneda es con tres decimales tendria que ver un codigo de boton de pago de mercado pago de su pais para ver como espera recibir el monto mercado pago y ajustar el codigo.

 

ingrese a su cuenta mercado pago y genere un boton de pago luego copie el monto (sol el monto) para ver que separador de miles y decimales se usan en venezuela.

 

saludos

 

PD: hoy despues del trabajo voy a ingresar, a eso de las 15hs (hora argentina) antes no puedo.

Link to comment
Share on other sites

tendria que ver el codigo de su tienda para ver que esta sucediendo, pero en principio parece un problema de la divisa y el formato de moneda.

Los replace:... del codigo reemplazan las comas por un punto y los espacios por nada, en su caso creo que el formato de moneda es con tres decimales tendria que ver un codigo de boton de pago de mercado pago de su pais para ver como espera recibir el monto mercado pago y ajustar el codigo.

 

ingrese a su cuenta mercado pago y genere un boton de pago luego copie el monto (sol el monto) para ver que separador de miles y decimales se usan en venezuela.

 

saludos

 

PD: hoy despues del trabajo voy a ingresar, a eso de las 15hs (hora argentina) antes no puedo.

 

Hola, mi formato de moneda tiene 2 decimales (BsF, 1.200,00)

 

Genere un boton de pago para sitio web en MP pero el codigo no tiene el monto por ninguna parte

Link to comment
Share on other sites

Ok, ahi he observado el cambio que ha realizado, usted ha modificado las variables eso no es a lo que me referia :-( si no que debe cambiar el ISO de moneda, tenga encuenta que mercado pago usa su propio ISO, por ejemplo para venezuela es : VEN

lo del monto lo voy hacer a ojo, ya que sospecho que tal vez MP espera recibir un valor 1200.00 (sin el primer punto y sin la ultima coma, de todos modos hay que ver el codigo fuente de su tienda para ver como esta pasando el monto prestashop.

Deme unos minutos que voy subir un archivo modificado.

 

saludos

Link to comment
Share on other sites

Hola, mi formato de moneda tiene 2 decimales (BsF, 1.200,00)

 

Genere un boton de pago para sitio web en MP pero el codigo no tiene el monto por ninguna parte

 

Habra el archivo ubicado en modules/apismpmx/views/templates/hook/payment_return.tpl

 

cambie todo el contenido de ese archivo por esto:

 

{if $status == 'x_oka'}

<p>

HOLA TOTAL : <b>{$total_to_pay}</b>

</p>

{else}

NO TENGO UN TOTAL!! :-(

{/if}

 

Guarde el archivo, realice una compra, una vez finalizada copie el monto que le muestra la leyenda "Hola TOTAL" y peguelo en este hilo, necesito saber como esta enviando el monto a MP su tienda.

 

Luego, cree un link o boton de pago en mercado pago, si no tiene el codigo, haga clic en el boton usted mismo y una vez que este en mercado pago, copie el monto tal cual le muestra el formulario de pago.

 

una vez que tenga ambos montos, el de su tienda y el de mercado pago, posteelo aqui, asi puedo hacer los cambios necesario en el modulo.

 

Importante, use el modulo que esta para descargar en este hilo, si ha modificado el modulo use uno nuevo y haga el cambio que le he mensionado mas arriba en al archivo "payment_return.tpl" recuerde forzar compilacion desde rendimiento para que cargue los cambios smarty.

 

saludos

Link to comment
Share on other sites

cambie los ISOS -> VEN por VEF

 

ahi esta un problema.

 

busque esto en el archivo:

 

<input type="hidden" name="md5" value="{$api_client_id_mx|cat:$api_client_secret_mx|cat:'1'|cat:'VEN'|cat:$total_to_pay|replace:{$simbolo}:''|replace:' ':''|replace:'.':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />

 

cambie eso por esto:

 

<input type="hidden" name="md5" value="{$api_client_id_mx|cat:$api_client_secret_mx|cat:'1'|cat:'VEF'|cat:$total_to_pay|replace:{$simbolo}:''|replace:' ':''|replace:'.':''|cat:$id_order|cat:'Orden_'|cat:$id_order|md5}" />

 

 

y luego busque :

 

<input type="hidden" name="item_currency_id" value="VEN"/>

 

cambie eso por esto:

 

<input type="hidden" name="item_currency_id" value="VEF"/>

 

OBserve que solo cambiamos el viejo ISO de Mercado Pago VEN por el actual VEF (bolivar fuerte).

 

guarde y pruebe nuevamente

 

 

saludos

Link to comment
Share on other sites

estem envieme la url de su tienda en privado o peguela aqui, asi veo que sucede tenemos que quitar el md5 para ver que estamos concatenando. seria mucho mas rapido si lo hacermos por email o via msn.

por que esto no es un chat :wub: y los moderadores nos van a rajar :wub:

 

envieme un privado que le paso mi email y mi msn

 

saludos

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...
  • 4 weeks later...

Que tal.. he utilizado el módulo para México y mi moneda está es formato de dólares... todo parece marchar bien pero se quedá congelado el proceso despues de presionar el botón de "Presione para abonar su orden".. ya casi par concluir... dejo la imagen:

 

7t1n.jpg

 

He notado que se queda colgado en esta URL extraña: a248.e.akamai.net

 

A lo que estuve investigando no se trata de malware, sino como una especie de intermediario que certifica y/o acelera la información...

 

Espero puedan ayudarme, gracias.

Edited by spartacus_gdl (see edit history)
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...