Procesadores del comercio

Actualizar comercio

PUT /v1/acquirers/merchants

Este endpoint permite actualizar los datos de un comercio en un procesador en el que ya está registrado.

ℹ️
  • Datos actuales: Se obtienen de la consulta del procesador, que devuelve el formulario con los valores guardados. El flujo habitual es obtener el formulario, modificar los valores y enviarlo en este endpoint.
  • Cambio de tipo de tasa: Para cambiar el tipo de tasa del comercio en el procesador, se envía en rate_type el nuevo tipo junto con los datos de su formulario. Los tipos de tasa de cada procesador se obtienen de la listado de procesadores.
ParámetrosDescripción
acquirer_id
  • string
  • Identificador de la adquirencia
  • [GPS, PRISMA, PRISMA_QR, BANORTE, AMEX, DEPAY, PROSA, BROXEL, WUZI]
customer_id
  • string
  • Identificador único del cliente al que pertenece el comercio
merchant_id
  • string
  • Identificador único del comercio que se desea actualizar
rate_type
  • string
  • Tipo de tasa aplicada a las transacciones del comercio. Si es distinto del tipo de tasa actual del comercio en el procesador, el comercio pasa a operar con el tipo de tasa enviado
  • [AGGREGATOR, NATURAL]
payment_type
  • (opcional)
  • string
  • Tipo de pago. Si se omite, el valor por defecto es TERMINAL
  • [TERMINAL, QR, PAYMENT_LINK]
data
  • list
  • Es una lista que contiene los distintos campos del formulario del procesador, con los valores que se desean guardar. Cada campo en data representa un input del formulario, y su estructura es flexible para adaptarse a la complejidad y profundidad de los datos requeridos.
  • data.
name
  • string
  • El nombre del campo que se necesita completar. Este nombre ayuda a identificar el propósito de cada campo en el formulario.
  • data.
properties
  • object
  • Contiene las propiedades específicas del campo que definen cómo debe mostrarse y comportarse en el formulario.
  • data.properties.
type
  • (opcional)
  • string
  • Define el tipo de input, como TEXT (campo de texto), AUTOCOMPLETE (sugerencia automática), SELECT (menú desplegable), OBJECT (estructura compleja que contiene otros inputs), MULTISELECT (selección múltiple, usa properties.values) y LIST
  • [TEXT, AUTOCOMPLETE, SELECT, OBJECT, MULTISELECT, LIST]
  • data.properties.
title
  • (opcional)
  • string
  • El título o etiqueta que describe el campo en el formulario.
  • data.properties.
description
  • (opcional)
  • string
  • Una breve descripción del campo, que puede usarse como una pista para el usuario.
  • data.properties.
validations
  • (opcional)
  • object
  • Validaciones que se aplican al input
  • data.properties.validations.
required
  • boolean
  • Indica si el campo es obligatorio (true) o no (false)
  • data.properties.
href
  • (opcional)
  • string
  • URL donde se puede obtener información adicional para completar el campo. Por ejemplo, una lista de actividades o tipos de documentos en formato KEY/VALUE.
  • data.properties.
hidden
  • (opcional)
  • boolean
  • Indica si el campo debe estar oculto en el formulario (true) o visible (false).
  • data.properties.
value
  • (opcional)
  • string
  • Valor predefinido del campo. Si no está presente, significa que el input aún no tiene un valor asignado.
  • data.properties.
data
  • (opcional)
  • list
  • Contiene campos adicionales cuando el tipo de input es OBJECT, permitiendo la recursión en la estructura. Esto se utiliza cuando se necesita un conjunto de inputs anidados. Cada input dentro de properties.data sigue la misma estructura recursiva, permitiendo formularios de múltiples niveles de profundidad.
  • data.properties.
options
  • (opcional)
  • list
  • Lista de opciones en formato KEY/VALUE para campos de tipo SELECT o AUTOCOMPLETE
  • data.properties.
values
  • (opcional)
  • list
  • Lista de valores seleccionados para campos de tipo MULTISELECT
  • data.properties.
readonly
  • (opcional)
  • boolean
  • Indica que el campo es de solo lectura. No debe enviarse
ℹ️

La estructura del REQUEST debe adherirse al formato especificado en el RESPONSE obtenido aquí, cumpliendo con un requisito esencial:

Cada campo de tipo TEXT o SELECT con validations.required configurado en TRUE debe tener un valor en properties.value; en un campo MULTISELECT el valor va en properties.values. Los campos AUTOCOMPLETE y OBJECT no se verifican en esta validación.

La lista data debe tener la misma cantidad de entradas y en el mismo orden que el formulario obtenido, sin incluir los campos readonly. De lo contrario, la respuesta es 400 con el mensaje incomplete data form.

Si el formulario incluye el campo mcc, su valor debe ser uno de los MCC válidos para el procesador, detallados en Registrar comercio; de lo contrario la respuesta es 400 con el mensaje Invalid MCC.

curl --request PUT \
  --url https://api.menta.global/api/v1/acquirers/merchants \
  --header 'Authorization: Bearer {access_token}' \
  --header 'Content-Type: application/json' \
  --data '{
      "acquirer_id": "string",
      "customer_id": "string",
      "merchant_id": "string",
      "rate_type": "string",
      "payment_type": "string",
      "data": [
          {
              "name": "string",
              "properties": {
                  "type": "string",
                  "title": "string",
                  "description": "string",
                  "validations": {
                      "required": "boolean"
                  },
                  "href": "string",
                  "hidden": "boolean",
                  "value": "string",
                  "data": "list",
                  "options": "list"
              }
          }
      ]
  }'

204: No Content