Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Webhooks - Notificaciones - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Notificaciones

Webhooks

Webhook (también conocido como devolución de llamada web) es un método simple que facilita que una aplicación o sistema proporcione información en tiempo real cada vez que ocurre un evento, es decir, es una forma de recibir datos pasivamente entre dos sistemas a través de un HTTP POST.

Una vez configurado, el Webhook se enviarĂĄ siempre que se produzcan uno o mĂĄs eventos registrados, evitando un trabajo de bĂșsqueda innecesarios de una respuesta y, en consecuencia, una sobrecarga del sistema y pĂ©rdida de datos siempre que se presente alguna situaciĂłn.

Luego de recibir una notificaciĂłn en su plataforma, Mercado Pago esperarĂĄ una respuesta para validar si la recibiĂł correctamente.

Importante
Las notificaciones de webhook se pueden configurar para una o mĂĄs aplicaciones creadas en su Panel del desarrollador.

Requisitos previos

Antes de configurar las notificaciones de Webhooks para Wallet Connect, considere los requisitos enumerados a continuaciĂłn.

RequisitoDescripciĂłn
Certificado SSLProtocolo que permite establecer comunicaciones seguras en Internet para actividades como navegaciĂłn, correo electrĂłnico y otras transferencias de datos.
Respuesta al requestEl endpoint debe devolver un cĂłdigo de respuesta 2XX para reconocer la recepciĂłn del request. Todos los cĂłdigos de respuesta fuera de 2XX activarĂĄn reintentos exponenciales de Mercado Pago.
TimeoutPara evitar problemas de timeout, la aplicaciĂłn debe devolver una respuesta antes de activar una lĂłgica compleja.
Solicitud de permisoPara poder incluir solicitudes en la lista de permisos a través de DNS, las solicitudes llegarån a través del endpoint api.mercadopago.com. El integrador deberå deshabilitar el CSRF (Cross-site request forgery) para api.mercadopago.com, lo que permitirå las solicitudes de Mercado Pago.

Tipos de eventos

Hay tres tipos diferentes de eventos que le permiten recibir notificaciones. Estos eventos se refieren a la actualizaciĂłn y/o cancelaciĂłn de un contrato.

ConfirmaciĂłn de la vinculaciĂłn por parte del usuario.

A partir de este evento, el integrador es notificado cuando un usuario confirma la vinculaciĂłn.

Para esto, envĂ­e un GET al endpoint /v2/wallet_connect/agreements/{agreement_id} para obtener el agreement_code y external_flow_id. Esto permitirĂĄ seguir con la creaciĂłn del token de pago para la creaciĂłn de los pagos.

A continuaciĂłn se muestra un ejemplo de cĂłdigo con la informaciĂłn enviada en el momento del request.

          
curl -X POST 'https://api.integrator.com/wallet_connect/events' \
-H 'Content-Type: application/json' \
-d '{
    "id": "22abcd1235ed497f945f755fcaba3c6c",
    "type": "wallet_connect",
    "entity": "agreement",
    "action": "status.updated",
    "date": "2021-09-30T23:24:44Z",
    "model_version": 1,
    "version": 0,
    "data": {
        "id": "22abcd1235ed497f945f755fcaba3c6c",
        "status": "confirmed_by_user"
    }
}'


        

CancelaciĂłn de una vinculaciĂłn entre integrador y Mercado Pago

En este caso, el usuario tiene la posibilidad de darse de baja de una vinculaciĂłn, lo que provoca la cancelaciĂłn del contrato existente. Cuando esto sucede, el payer_token se invalida y no se realizan mĂĄs cargos al usuario.

Importante
En caso de que se hagan nuevos intentos de cobro, serĂĄn rechazados.

Observa a continuaciĂłn un ejemplo de cĂłdigo con la informaciĂłn enviada en el momento del request.

          
curl -X POST 'https://api.integrator.com/wallet_connect/events' \
-H 'Content-Type: application/json' \
 -d '{
  "id": "22abcd1235ed497f945f755fcaba3c6c",
  "type": "wallet_connect",
  "entity": "agreement",
  "action": "status.updated",
  "date": "2021-09-30T23:24:44Z",
  "model_version": 1,
  "version": 0,
  "data": {
    "id": "22abcd1235ed497f945f755fcaba3c6c",
    "status": "cancelled"
  }
}'



        

ActualizaciĂłn del medio de pago de una vinculaciĂłn

En este caso, el usuario puede agregar o actualizar un medio de pago secundario (por defecto, dinero en cuenta de Mercado Pago es el primer medio de pago).

En funciĂłn de los estados de pago, es posible detectar pagos rechazados y notificar al usuario para que realice la actualizaciĂłn o agregue un medio de pago secundario.

Observa a continuaciĂłn un ejemplo de cĂłdigo con la informaciĂłn enviada en el momento del request.

          
curl -X POST 'https://api.integrator.com/wallet_connect/events' \
-H 'Content-Type: application/json' \
-d '{
    "id": "22abcd1235ed497f945f755fcaba3c6c",
    "type": "wallet_connect",
    "entity": "agreement",
    "action": "payment_method.updated",
    "date": "2021-09-30T23:24:44Z",
    "model_version": 1,
    "version": 0,
    "data": {
        "id": "22abcd1235ed497f945f755fcaba3c6c"
    }
}'



        

En la siguiente tabla mostramos con mĂĄs detalle los posibles valores que se envĂ­an en el cuerpo del request de cancelaciĂłn y actualizaciĂłn del medio de pago de una vinculaciĂłn.

CampoValorTipoDescripciĂłn
idUUID/NumberStringID exclusivo del evento. Este ID evita mensajes duplicados del lado del integrador.
typewallet_connectStringRepresenta eventos sobre la vinculaciĂłn entre el integrador y el usuario de Mercado Pago. Este valor siempre serĂĄ wallet_connect.
entityagreementStringEntidad relacionada con el vinculaciĂłn. El valor siempre serĂĄ agreement.
actionpayment_method.updatedString- Indica que se ha actualizado el medio de pago secundario asociado a la vinculaciĂłn.
- Puede ser utilizado por el vendedor como una forma de saber si se debe realizar un nuevo cargo.
actionstatus.updatedString- Indica que la vinculaciĂłn fue cancelada o confirmada por el usuario.
- Puede ser usado por el integrador para saber si el usuario confirmĂł la vinculaciĂłn o si fue cancelada y no se deben realizar nuevos cobros.
date{{action_date}}DateUna fecha aproximada (en formato Zulu) asociada con el evento.
data{ id: {{agreement_id}}, status: {{agreement_status}} }id: String status: StringEste campo puede proporcionar detalles adicionales sobre el evento segĂșn el tipo y la acciĂłn.
model_version1IntegerVersiĂłn del modelo del body del Webhook. Siempre serĂĄ 1.
version0IntegerVersiĂłn para identificar duplicados dentro del mismo id.

ConfiguraciĂłn

La configuración de los webhooks se realiza a través del Panel del desarrollador. A continuación explicaremos cómo indicar las URLs que serån notificadas y cómo configurar los eventos para los que se recibirån notificaciones.

webhooks

  1. Si aĂșn no tienes una aplicaciĂłn creada, accede a tu Panel del desarrollador y haz clic en Entrar para iniciar sesiĂłn si aĂșn no estĂĄ conectado.
  2. Con la aplicación creada, ve a la pestaña Notificaciones de Webhooks en tu Panel de control y configura las URLs de producción y prueba de las que se recibirån notificaciones.
  3. También podrås experimentar y probar si la URL indicada estå recibiendo notificaciones correctamente, pudiendo verificar la solicitud, la respuesta dada por el servidor y la descripción del evento.
  4. Si necesitas identificar varias cuentas, al final de la URL indicada puedes indicar el parĂĄmetro ?customer=(sellername) endpoint para identificar a los vendedores.
  5. Luego seleccione el evento Wallet Connect del que recibirå notificaciones en formato json a través de un HTTP POST a la URL especificada anteriormente. Un evento es cualquier tipo de actualización del objeto informado, incluidos los cambios de estado o atributos. Vea los eventos que se pueden configurar en la siguiente tabla.
Tipo de notificaciĂłnAcciĂłnDescripciĂłn
ConfirmaciĂłn de la vinculaciĂłnstatus.updatedEl usuario ha confirmado una vinculaciĂłn.
CancelaciĂłn de la vinculaciĂłnstatus.updatedVinculaciĂłn entre el integrador y el usuario de Mercado Pago fue cancelada por el usuario.
Actualización de método de pagopayment_method.updatedEl usuario ha actualizado el método de pago de una vinculación.