Inicio
Documentação
Recursos
Parcerias
Comunidade

Recursos

Confira as atualizaçÔes das nossas soluçÔes e do funcionamento do sistema ou peça suporte técnico.

Parcerias

Conheça nosso programa para agĂȘncias ou desenvolvedores que oferecem serviços de integração e vendedores que desejam contratĂĄ-los.

Comunidade

Fique por dentro das Ășltimas novidades, peça ajuda a outros integradores e compartilhe seu conhecimento.

Webhooks - NotificaçÔes - Mercado Pago Developers

Busca inteligente powered by OpenAI 

NotificaçÔes

Webhooks

O Webhooks (também conhecido como retorno de chamada web) é um método simples que facilita com que um app ou sistema forneça informaçÔes em tempo real sempre que um evento acontece, ou seja, é um modo de receber dados entre dois sistemas de forma passiva através de um HTTP POST.

Uma vez configurado, o Webhook serĂĄ enviado sempre que ocorrer um ou mais eventos cadastrados, evitando que haja um trabalho de pesquisa a cada minuto em busca de uma resposta e, por consequĂȘncia, que ocorra uma sobrecarga do sistema e a perda de dados sempre que houver alguma situação.

ApĂłs receber uma notificação na sua plataforma, o Mercado Pago aguardarĂĄ uma resposta para validar se vocĂȘ a recebeu corretamente.

Importante
As notificaçÔes Webhooks poderão ser configuradas para uma ou mais aplicaçÔes criadas em seu Painel do desenvolvedor.

Pré-requisitos

Antes de configurar as notificaçÔes Webhooks para Wallet Connect considere os requisitos listados abaixo.

RequisitoDescrição
Certificado SSLProtocolo que permite estabelecer comunicaçÔes seguras na Internet para atividades como navegação, e-mail, e outras transferĂȘncias de dados.
Resposta à requisiçãoO endpoint deve retornar um código de resposta 2XX para confirmar o recebimento da requisição. Todos os códigos de resposta fora do 2XX acionarão novas tentativas exponenciais do Mercado Pago.
TimeoutPara evitar problemas de timeout, a aplicação deve retornar uma resposta antes de acionar uma lógica complexa.
Solicitação de permissãoPara que seja possível colocar as solicitaçÔes na lista de permissÔes pelo DNS, as requisiçÔes virão através do endpoint api.mercadopago.com. O integrador deve desabilitar o CSRF (Cross-site request forgery) para api.mercadopago.com, o que permitirå solicitaçÔes do Mercado Pago.

Tipos de eventos

Existem trĂȘs tipos diferentes de eventos que permitem o recebimento de notificaçÔes. Esses eventos referem-se Ă  atualização e/ou cancelamento de uma vinculação.

Confirmação da vinculação pelo usuårio

A partir deste evento, o integrador é notificado quando um usuårio confirma a vinculação.

Para isso, envie um GET ao endpoint /v2/wallet_connect/agreements/{agreement_id} para obter o agreement_code e external_flow_id. Isso permitirå seguir com a criação do token de pagamento para a criação dos pagamentos.

Veja abaixo um exemplo de código com as informaçÔes enviadas no momento da requisição.

          
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"
    }
}'




        

Cancelamento de vinculação entre integrador e Mercado Pago

Neste evento, o usuårio tem a possibilidade de se descadastrar de uma vinculação, o que faz com que a vinculação existente seja cancelada. Quando isso acontece, o payer_token é invalidado e nenhuma outra cobrança é feita ao usuårio.

Importante
Caso sejam feitas novas tentativas de cobrança, as mesmas serão rejeitadas.

Veja abaixo um exemplo de código com as informaçÔes enviadas no momento da requisição.

          
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"
  }
}'


        

Atualização do meio de pagamento de uma vinculação

Neste caso, o usuĂĄrio pode adicionar ou atualizar uma forma de pagamento secundĂĄria (por padrĂŁo, dinheiro em conta Mercado Pago Ă© a primeira forma de pagamento).

Com base nos status de pagamento, é possível detectar pagamentos rejeitados e notificar o usuårio para que ele possa realizar a atualização ou adicionar uma forma de pagamento secundåria.

Veja abaixo um exemplo de código com as informaçÔes enviadas no momento da requisição.

          
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"
    }
}'



        

Na tabela abaixo mostramos com mais detalhes os possíveis valores que são enviados no corpo da requisição do cancelamento e atualização do meio de pagamento de uma vinculação.

CampoValorTipoDescrição
idUUID/NumberStringID exclusivo do evento. Este ID evita mensagens duplicadas do lado do integrador.
typewallet_connectStringRepresenta eventos sobre a vinculação entre o integrador e o usuårio do Mercado Pago. Este valor sempre serå wallet_connect
entityagreementStringEntidade relacionada ao evento. O valor serĂĄ sempre agreement.
actionpayment_method.updatedString- Indica que a forma de pagamento secundåria associada à vinculação foi atualizada.
- Pode ser utilizado pelo vendedor como forma de saber se uma nova cobrança deve ser realizada.
actionstatus.updatedString- Indica que a vinculação foi cancelado ou confirmado pelo usuårio.
- Pode ser usado pelo integrador para saber se o usuårio confirmou a vinculação ou se esta foi cancelada e novas cobranças não deverão ser realizadas.
date{{action_date}}DateUma data aproximada (em formato Zulu) associada ao evento.
data{ id: {{agreement_id}}, status: {{agreement_status}} }id: String status: StringEste campo pode trazer detalhes extras sobre o evento baseado no tipo e na ação.
model_version1IntegerVersĂŁo do modelo de corpo do Webhooks. SerĂĄ sempre 1.
version0IntegerVersĂŁo para identificar duplicatas dentro do mesmo ID.

Configuração

A configuração das Webhooks é feita através do Painel do desenvolvedor. Abaixo explicaremos como indicar as URLs que serão notificadas e como configurar os eventos dos quais se receberå a notificação.

webhooks

  1. Se ainda não tiver uma aplicação criada, acesse seu Painel do desenvolvedor e clique em Entrar para fazer seu login caso ainda não esteja logado.
  2. Com a aplicação criada, acesse a aba NotificaçÔes Webhooks em seu Painel do desenvolvedor e configure as URLs de produção e teste da qual serão recebidas as notificaçÔes.
  3. VocĂȘ tambĂ©m poderĂĄ experimentar e testar se a URL indicada estĂĄ recebendo as notificaçÔes corretamente, podendo verificar a solicitação, a resposta dada pelo servidor e a descrição do evento.
  4. Caso seja necessĂĄrio identificar mĂșltiplas contas, no final do URL indicada vocĂȘ poderĂĄ indicar o parĂąmetro ?customer=(sellername) endpoint para identificar os vendedores.
  5. Em seguida, selecione o evento Wallet Connect do qual vocĂȘ receberĂĄ notificaçÔes em formato json atravĂ©s de um HTTP POST para a URL especificada anteriormente. Um evento Ă© qualquer tipo de atualização no objeto relatado, incluindo alteraçÔes de status ou atributo. Veja na tabela abaixo os eventos que poderĂŁo ser configurados.
Tipo de notificaçãoAçãoDescrição
Confirmação de vinculaçãostatus.updatedO usuårio realizou a confirmação de uma vinculação.
Cancelamento de vinculaçãostatus.updatedVinculação entre o integrador e o usuårio do Mercado Pago foi cancelado pelo usuårio.
Atualização do meio de pagamentopayment_method.updatedO usuårio atualizou o meio de pagamento de uma vinculação.