Actualmente Mercado Pago Payment sólo funciona para México. La posibilidad de que se pueda configurar para diferentes países es viable.
Básicamente, la forma debe pago debe redireccionar hacia la versión de Mercado Pago de cada país. A saber, sólo tenemos que cambiar el código de País en el url https://www.mercadopago.com/<codigo>/buybutton y agregar a la forma el campo currency=<Código de moneda>
- Argentina
- Código: mla
Código de moneda: ARG - Brasil
- Código: mlb
Código de moneda: REA - Chile
- Código: mlc
Código de moneda: CHI - Colombia
- Código: mco
Código de moneda: ? - Méixco
- Código: mlm
Código de moneda: MEX
Estatus: Verificado - Venezuela
- Código: mlv
Código de moneda: VEN
A parte de México, no he tenido la oportunidad de verificar que los demás códigos funcionan. En el caso de Colombia, no he encontrado cuál es el código de moneda que requiere Mercado Pago. Si alguien ha podido verificar el código sería bueno saberlo, para marcarlo como verificado e implementarlo.
Estoy pensando en agregar un menú para seleccionar el país al que pertenece la cuenta de MercadoPago.
Me falta averiguar si Mercado Pago puede procesar pagos en otras monedas, por ejemplo, dólares. Y me gustaría saber si los posible usuarios de este módulo, preferirían que la moneda se eligiera de acuerdo a la moneda predefinida de cada país o que se intente mandar la moneda seleccionada en la configuración global de Drupal Commerce.
| Comment | File | Size | Author |
|---|---|---|---|
| #16 | pagoAcreditado.png | 36.86 KB | bolchevique |
| #16 | watchdog.txt | 1.01 KB | bolchevique |
| #14 | Captura de pantalla de 2013-04-04 18:43:27.png | 34.08 KB | bolchevique |
| #8 | watchdog.txt | 1.46 KB | bolchevique |
| #7 | Captura de pantalla de 2013-03-27 19:04:04.png | 41.28 KB | bolchevique |
Comments
Comment #1
jrviorato commentedYa implementé la funcionalidad pedida. Será necesario hacer pruebas para cada uno de los países listados. A quien le interese, por favor, avísenme si les funcionó.
P.D. El código para la moneda Colombia que usa MercadoPago es "COL".
Comment #2
yehanny commentedBuenas tardes, en efecto ya estoy implementando el código en un sitio de prueba a ver si funciona con mis datos en MercadoPago de Venezuela (esperemos que si) cualquier eventualidad la estaré publicando por aquí, Saludos y gracias!... (=
Comment #3
yehanny commentedBuenas, comento que he realizado las pruebas pertinentes para implementar el módulo de MercadoPago con Drupal Commerce, hice todo el proceso tal cual esta explicado y lo configuré para mi país (Venezuela), excelente el selector de los países en la configuración del módulo, pero eso no hace que cambie el direccionamiento al momento de realizar el pago y arroja un valor en blanco así: http://www.mercadopago.com//button y no coloca el código del país http://www.mercadopago.com/mlv/button, problema que se resuelve colocando manual en el valor el código del país por defecto (mlv en el caso de Venezuela).
Por otro lado realicé todo el proceso de pago con un pedido de prueba, me envió a MercadoPago de Venezuela con el monto de la operación más el Impuesto al Valor Agregado, agregué mi tarjeta de crédito y todo bien hasta allí pero al momento de confirmar la operación para pagar arrojó el siguiete error:
Lo que significa que el pago no se realizó correctamente y me envía a logear en la cuenta de MercadoLibre en vez del sitio desde el que estoy comprando, espero pueda servir de ayuda este comentario y sigo estando presto a hacer las pruebas pertinentes para que el módulo sea completamente funcional, saludos!... (=
Comment #4
jrviorato commentedHola yehanny, pues según entendí hay dos errores:
Como sea, es conveniente repetir el experimento, por mi parte hice un ligero cambio al módulo, pensando en que tal vez el módulo no mando el
headeradecuadamente cuando MercadoPago intento comunicarse. Pero por lo que describes, no parece ser ese el problema, pues aunque MercadoPago hubiera tenido problemas para comunicarse, simplemente seguiría intentando comunicarse sin mandarle un mensaje de error al comprador.Sugiero revisar lo siguiente en el próximo experimento:
http://<your domain>/admin/commerce/config/currencyesté seleccionada la moneda de Venezuela.Seguiré al pendiente de tus comentario.
Saludos
Comment #5
drupal-son commentedHola jrviorato, necesito implementar para un sitio en Mexico la integración con MercadoPago, pero sin utilizar Drupal Commerce ya que no es un carrito de compras.
El sitio solo requiere que los usuarios registrados paguen la suscripcion.
Según tu experiencia, cual es la mejor forma de implementar este reqerimiento en Drupal core 7.x.
Estuve viendo la documentacion de MP y por lo que entiendo solo debo poner el boton de comprar (con sus correspondientes numeros de cuenta, token, etc) e indicar las URLs correspondientes para cada accion (Success, Error, In process).
Como hago para recibir el request de MP una vez hecho el pago y actualizar un registro que indique que ese cliente ya pago?
Como conviene generar los IDs de pago?
Necesito montar algun servicio que este escuchando las llamadas de MP? Como las valido?
Muchas gracias por tu ayuda.
Comment #6
jrviorato commentedHola Akenelson, pues este no es el lugar más adecuado para tratar estos temas. Te contesto rápidamente por aquí.
Te comento que efectivamente vas a necesitar implementar un servicio, en alguna URL de tu sitio; en drupal, bastará con implementar el hook_menu(). Los IDs de los pagos, yo no los genero, los genera drupal commerce payment; pero MP te pide la variable 'seller_op_id', ahí concateno el número de orden que está pagando y el timestamp.
Para validar las llamadas de MP, yo creo que la forma más efectiva es hacer un POST a MP al momento de recibir la notificación y verificas que coincida la información recibida. Aunque esta forma, pues es un poco más lenta; pues requiere un paso extra.
Saludos
Comment #7
bolchevique commentedHola acabo de testearlo con Mercado Pago Argentina y funcionó oka!
Adjunto las capturas
Lo que me genera dudas es que el pago quedó como pendiente, cómo puedo verificar si mercado pago lo informó?
La funcionalidad para recibir ese informe via IPN de MP está implementada?
Estaba pensando que sería muy bueno agregar como funcionalidad un cron que controle el estado de los pagos pendientes cada X tiempo.
Por ejemplo podrías decir que los pedidos generados en la ultima hora los controle cada 5 minutos, los pedidos con más de 6 horas cada 30 minutos y los que tengan más de 24 hs 2 veces al día.
De esta manera si MP falla al informar el estado de un pago podrías asegurarte de actualizar su estado.
Me gustaría mucho ayudarte con eso, si te parece que podría hacerlo contactame a mail at gilgamezh dot me
Felicitaciones y gracias por el modulo!
:D
Comment #8
bolchevique commentedEncontre que el modulo está logueando :D así que te copio las salidas que me da, sospecho que tal vez tengo yo algo mal configurado.
Tener en cuenta únicamente los últimos 3 registros (primeros 3 porque esta ordenado desc)
Comment #9
jrviorato commentedY en la página del pedido, en la sección de "Pago", ¿qué te aparece?¿Cuál es el estado del pago?
Sobre verificar si mercado pago lo informó, creo que lo mejor es hacer la verificación del pago directamente a MP cuando se reciba el IPN. MP manda el IPN varias veces durante el día y va reduciendo conforme pasa el tiempo; justamente lo que sugieres.
Gracias por la oferta de ayuda, estoy abierto a cualquier mejora.
Comment #10
jrviorato commentedSe ve de los logs, que MP efectivamente intentó comunicarse con tu sitio vía IPN. Lamentablemente, no envio la variable "seller_op_id", eso es bastante extraño. Como si el pago se hubiera generado directamente por la forma del sitio.
Lo único que no he entendido del watchdog es por qué no imprime toda la información posteada por el IPN de MP. Creo que una forma de lograrlo es remover el pasar por "check_plain" la información posteada. Esto es, en las líneas 249, 253 y 264 del archivo
mercado_pago_payment.module, cambiarlas por:Y esperar a que MP vuelva a mandar un IPN y revisar qué es lo que manda.
Por otro lado, otra cosa que podrías hacer es hacer otra compra, pero sin completarla, únicamente haz lo siguiente:
La página te mostrará el botón de pagos de MP, pero si revisas el código fuente de la página, verás la forma creada por este Módulo. Revisa que dicha forma tenga los datos especificados en https://www.mercadopago.com/mla/ml.faqs.framework.main.FaqsController?pa...
En especial, revisa que estén tus datos
acc_idyenc, queseller_op_idsea de la forma 999-0123456789 donde los primero dígitos antes del guión son el número de orden y los posteriores son el timestamp.Saludos
Comment #11
enzo3946 commentedHe cargado una nueva iniciativa en el Foro de Mercado Pago. Me he comunicado con uno de los principales desarrolladores para todos los módulos de Mercado Pago para wordpress, Joomla y otros y me ha comunicado que hay que hacer fuerza desde aquí. Les pido por favor sumarse al debate en el foro de ML. Cuanto más seamos más prioridad le van a dar al proyecto. Saludos desde Argentina.
https://groups.google.com/forum/?fromgroups=#!newtopic/mercadopago-developers/mercadopago-developers/3ylJEjs_arY
Comment #12
bolchevique commentedDisculpa la demora, entre esta noche y mañana hago esas pruebas y te paso los datos. También voy a chequear la configuración de mi cuenta de MP, tal vez hice algo mal ahí.
Gracias!
Comment #13
jrviorato commentedHola bochevique:
Por favor, antes de que hagas más pruebas. Revisa en
/admin/commerce/orders/%order_id/payment/%payment_id/viewY dime qué dice en la sección "Payload".
Saludos
Comment #14
bolchevique commentedEn la solapa de payments no tengo ningun dato para esa órden.
Comment #15
jrviorato commentedAproveché que ahora se pueden crear usuarios de prueba en MP. Ya por fin pude hacer pruebas con otros países. Empecé por Argentina, aprovechando que bolchevique ha estado probando el módulo.
Y resulta que la notificación IPN de Mercado Pago estaba llegando de forma incorrecta, básicamente removía el parámetro "code=mercadopago_status" que había agregado al URL de notificaciones. Entonces, decidí quitarlo ya que de cualquier manera no está contribuyendo en mucho.
Finalmente, hice una prueba con los usuarios de prueba (valga la redundancia) y sí se creo el pago dentro de la solapa de Payments de la orden. ¡Excelente!
Así que, es un buen momento para volver a verificar si el módulo funciona para sus países.
Saludos.
Jesús
PD. Estoy trabajando ya en la versión 7.x-2.x del módulo, donde planeo meter el nuevo sistema de pagos de Mercado Pago, pueden ir viendo el código si lo desean. Pero les advierto que aún está algo inestable. Para este código estoy considerando que para la instalación del módulo se descargue la librería PHP-SDK de mercado pago. Lo cuál evidentemente hará un poco más latosa la instalación, pero asegurará la compatibilidad para todos los países.
Comment #16
bolchevique commentedFuncionó perfecto!! :D
Entiendo que con este cambio a la hora de configurar la cuenta de MP no es necesario poner el "mercadopago_status" tal como dice en el README.TXT.
O esto es valido únicamente para argentina? en cualquiera de los casos deberias aclararlo :D
Muchas gracias por la ayuda! :D
una consulta, cómo puedo hacer para dar de alta usuarios de prueba de MP ? estoy iniciando un proyecto y me interesa poder testear a fondo el modulo.
Comment #17
jrviorato commentedMuchas gracias Nicolás (bolchevique),
Ya lo cambié, ahora el readme explica qué se tiene que hacer. El cambio se hizo para todos los países, en especial para argentina. De hecho, la intrucción
?code=mercadopago_statusya no afecta en nada, esté o no esté presente en la configuración. Lo que es un alivio, por si alguien simplemente decide actualizar el módulo.Ahh, y sobre la creación de usuarios de MP puedes seguir estas instrucciones:
http://developers.mercadopago.com/documentacion/crear-usuarios-de-prueba
Necesitarás crear tu token antes, para ello sigue las instrucciones:
http://developers.mercadopago.com/documentacion/autenticacion
Saludos
Comment #17.0
jrviorato commentedErrores ortográficos
Comment #18
jrviorato commentedComment #19
jrviorato commentedComment #21
oegi commentedbuenas estoy aprendiendo un poco de este modulo,cuando selecciono mercado pago me sale el siguiente error
Fatal error: Class 'MP' not found in C:\xampp\htdocs\prueba\sites\all\modules\mercado_pago_payment\mercado_pago_payment.sdk.inc on line 280
Comment #22
jrviorato commentedHole oegi,
Moví tu pregunta a otro issue, pues tu pregunta es independiente de lo discutido aquí.
Ya te hice una sugerencia allá, sigue el siguiente link https://www.drupal.org/node/2700749