Integrar bajo el modelo Marketplace de Mercado Pago en 3 pasos

Joel Ibaceta
joelibaceta
Published in
4 min readFeb 8, 2019

--

¿Qué es el modelo Marketplace? Es un tipo de integración que nos permite representar escenarios en los que el dueño de un negocio necesita cobrar una comisión por venta a cada uno de sus vendedores afiliados por el uso de su plataforma.

Me interesa, ¿Cómo empezamos?

Para poder realizar un flujo completo de integración vamos a usar usuarios de prueba (Marketplace, Vendedor y Comprador)

[ver como crear usuarios de prueba]

Acezando a las cuentas de los usuarios de prueba, de izquierda a derecha, Marketplace, Vendedor y Comprador

Paso 1: Crear una aplicación

Como propietario de un Marketplace necesitas contar con una Aplicación, esto te permitira solicitar autorizacion a tus vendedores para operar bajo el modelo Marketplace.

Para crear una aplicación debes estar autenticado en MercadoPago con la cuenta propietaria del Marketplace y dirigirte a https://applications.mercadopago.com/

Una vez dentro debes crear una aplicacion nueva segun tu pais, para operar con Marketplace es importante activar las opciones MP Connect / Marketplace mode , los scopes read, write y offline_access y definir una url de redirección.

En este caso defino la url de destino como www.example.com únicamente con el objetivo de simplificar el articulo, pero debería ser una url valida (localhost es soportado).

Paso 2: Autorizar a los vendedores

Una vez tengas la aplicación creada debes solicitar autorización para cada uno de los vendedores para poder crear pagos que envíen dinero a sus cuentas cobrando una comisión por venta.

Para realizar la autorización es necesario dirigir al vendedor a una url especial, la cual contiene informacion de la tienda creada previamente para identificar la solicitud de autorización.

https://auth.mercadopago.com.ar/authorization?client_id=APP_ID&response_type=code&platform_id=mp&redirect_uri=REDIRECT_URL

Detalle de los parametros

Donde APP_ID representa al identificador de la tienda que podemos encontrar en la pagina de detalles de la aplicación previamente creada y REDIRECT_URL debe ser idéntico al valor del campo redirect url definida al crear la aplicación.

Es importante revisar que el usuario que ingresa a la url sea el vendedor ya que de otro modo no estaríamos autorizando al usuario correcto y los siguientes pasos tendrían un comportamiento distinto al esperado.

Una vez que el vendedor autoriza a la aplicación a realizar cobros en su nombre, se realiza una redirección a la url previamente configurada, con un parámetro adicional de autorización code , como podemos ver:

https://www.example.com/?code=TG-5c5ca87ae5f10b000617fa82-401999264

Guardar este código para el siguiente paso.

Paso 3: Obtener el AccessToken del vendedor y empezar a operar

Una vez contemos con el código de autorización, podemos solicitar un AccessToken para el vendedor que podremos usar como un token común para todos los APIs públicos en los que queramos operar bajo este modelo.

Para obtener el AccessToken debemos usar el API de autorización oauth, mediante un request POST con parámetros de tipo x-www-form.

Donde client_id corresponde al ID de la aplicacion de Marketplace, client_secret al valor de la propiedad secret key de la misma aplicación y code el codigo de autorizacion obtenido en el paso previo.

Recordar que este access token tiene un periodo de validez de 6 meses por lo que debes guardar el valor de refresh_token para poder obtener un token nuevo al vencimiento de este tiempo, en caso contrario deberas solicitar nuevamente la autorización [paso 2]

Listo! probemos realizando un pago

Usando el access token del ultimo paso puedes crear una preferencia de pago.

Si deseas cobrar una comisión por el uso de la plataforma es importante definir el monto en el atributo marketplace_fee.

Nos dirigimos a la url que encontramos en la propiedad init_point de la respuesta del api y realizamos el pago con una tarjeta de prueba [ver tarjetas de prueba de Mercado Pago].

Podemos observar como se refleja la transaccion, el cobro del vendedor y el fee para el Marketplace considerando la comision de MercadoPago.

Exploremos el detalle de la transacción.

--

--

Joel Ibaceta
joelibaceta

CTO at Kwema Inc. #developer #traveler #investor #packtauthor #fintechexpert #entrepeneur Github: https://github.com/joelibaceta, Instagram: joelibaceta