Marketplace de Mercado Pago, es mas fácil de lo que aparenta

Marketplace de Mercado Pago, es mas fácil de lo que aparenta

Cuando comencé con mi Marketplace no paraban de salirme errores, por lo que comencé a leer la documentación con más calma. Pero hay algo que no se explica implícitamente en la documentación y que podría ahorrarte tiempo. Uno es los usuarios de prueba, y la otra el la secuencia de pasos a realizar ya que no es siempre muy clara.

Descripción del proceso

Lo primero es una aplicación de mercado pago, con ella vas a poder integrar mercado pago a tu software. El segundo pago es el uso de usuarios de prueba, para todo el proceso, desde la creación del marketplace hasta la compra, por que si la compra la hace un usuario de prueba. Luego viene la conexión de un usuario vendedor (de prueba) a el marketplace, ya que necesitamos sus datos para vender.

La aplicación de mercado pago

Es importante tener en cuenta que para poder solicitar usuarios de prueba necesitas tener una aplicación de mercado pago, para lo cual vas a developer panel donde podras crear tu aplicacion y luego solicitar tu credenciales de prueba (Public Key, Access Token) usaremos el access token para hacer nuestras solicitudes.

Usuarios de prueba

En un comienzo una usaría las credenciales de prueba obtenidas anteriormente para vender sin tener un Marketplace, pero como el usuario de uno es real, osea el tuyo, la cosa se complica a la hora de realizar un Marketplace, ya que parte de ventas se tienen que transferir de usuarios prueba (vendedores) a los del Marketplace (reales). Es por esto que con las credenciales vamos a obtener los usuarios de prueba para esto. Para esto vamos a realizar la siguiente solicitud:

curl -X POST \
-H "Content-Type: application/json" \
-H 'Authorization: Bearer TEST-2255961064013319-103123-25d1eb69586c9cda457446875fef476a-290295101' \
"https://api.mercadopago.com/users/test_user" \
-d '{"site_id":"MLA"}'

Cambiando el ACCESS_TOKEN por el nuestro, de forma que nos retorne los siguiente:

{
  "id":702644443,
  "nickname":"TETE3216681",
  "password":"qatest6437",
  "site_status":"active",
  "email":"test_user_79517586@testuser.com"
}

Repetiremos esto 2 veces más y almacenaremos estos datos. Uno será al usuario de Marketplace, el otro es un usuario vendedor y el tercero es el comprador.

Creando el la aplicación de prueba

Con los datos de acceso de dichos usuarios vamos a ingresar a mercado pago y a crear una aplicación como en el paso anterior. Luego solicitamos las credenciales de pruebas. El usuario usado sera el del marketplace Para conectar al usuario de ventas con el Marketplace tenemos que ejecutar la siguiente solicitud http en el navegador.

https://auth.mercadopago.com.ar/authorization?client_id=IDAPP&response_type=code&platform_id=mp&redirect_uri=http://www.URL_de_retorno.com

Reemplazamos IDAPP por el id app de la aplicación creada con el usuario Marketplace. Luego de ingresar con el usuario de ventas te redireccionará a la ruta pasada por parámetro y junto con un código de autorización.

http://www.URL_de_retorno.com?code=AUTHORIZATION_CODE

Luego con este código de autorización vamos a realizar la siguiente solicitud:

curl -X POST \
     -H 'accept: application/json' \
     -H 'content-type: application/x-www-form-urlencoded' \
     'https://api.mercadopago.com/oauth/token' \
     -d 'client_secret=ACCESS_TOKEN' \
     -d 'grant_type=authorization_code' \
     -d 'code=AUTHORIZATION_CODE' \
     -d 'redirect_uri=REDIRECT_URI'

donde: ACCESS_TOKEN en el token del usuario marketplace AUTHORIZATION_CODE es el código de acceso obtenido anteriormente REDIRECT_URI es la url de redireccionamiento que es la misma que esta configurada en la aplicación.

mas adelante voy a colocar un post de como crear una aplicación en mercado pago. Con esta consulta nos redireccionará a la página especificada con los datos del usuario, el mas importante su access_token con el cual vamos a crear las preferencias de pago del vendedor. Nos retornara algo como esto:

{
  "access_token": ACCESS_TOKEN_VENDEDOR,
  "token_type": "bearer",
  "expires_in": 15552000,
  "scope": "offline_access payments read write",
  "user_id": *********,
  "refresh_token": REFRESH_TOKEN,
  "public_key": PUBLIC_KEY,
  "live_mode": true
}

Con el refresh_token vamos a refrescar la conexión con el marketplace más adelante.

Crear la preferencia de pago del vendedor

Hasta ahora tenemos una aplicación propia, una aplicación de prueba, un vendedor de prueba. Ahora vamos a crear una preferencia de prueba, podemos usar axios o fetch con javascript para realizar una petición.

// SDK de Mercado Pago
const mercadopago = require ('mercadopago');

// Agrega credenciales
mercadopago.configure({
        access_token: access_token,
        public_key: public_key
});

var preference = {}

  var item = {
    title: 'Blue shirt',
    quantity: 10,
    currency_id: 'ARS',
    unit_price: 150
  }

  preference.items = [item]
  preference.payer = payer
  preference.marketplace_fee = 2.56
  preference.notification_url = "http://urlmarketplace.com/notification_ipn";

  mercadopago.preferences.create(preference).then(function (data) {
     console.log(data.body);
   }).catch(function (error) {
     console.log(error)
   });

en curl

curl -X POST \
  'https://api.mercadopago.com/checkout/preferences' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -H 'Authorization: Bearer ACCESS_TOKEN' \
  -d '{
    "items": [
        {
            "title": "Mi producto",
            "quantity": 1,
            "currency_id": 'ARS',
            "unit_price": 75.76
        }
    ],
    "preference.marketplace_fee" : 2.56
}'

Usando el access_token y public_key del usuario vendedor registrado en el Marketplace. Nos retornará toda la información de la preferencia de pago, nos enfocaremos en la sección de init_point que es la url de pago. Con esta url podemos comenzar con la gestión del pago, en esta parte usaremos los datos del usuario comprador obtenida previamente.

Conclusiones

Con esto podemos comenzar a integrar mercado pago con los distintos lenguajes y SDK que posee mercado pago. Es por esto que es interesante ver las cosas más necesarias a la hora de comenzar un marketing de mercado pago.


Espero que este post te sea de ayuda, puedas apoyarme invitándome un cafe , o puedes seguirme en instagram y ver mi dia como programador, y estudiante.

GitHub followers Instagram cafesito