Webhooks - Notificações - Mercado Pago Developers
Developers
Referência API
Suporte
Entrar

    Inicio

    Começando

    Pagamentos online

    Checkout Pro

    Checkout API

    Link de pagamento

    Marketplace

    Mobile Checkout

    Web Tokenize Checkout

    Pagamentos presenciais

    Código QR

    Plugins e plataformas

    WooCommerce

    Prestashop

    Magento 2

    Shopify

    VTEX

    SDKs

    Notificações

    Webhooks

    IPN

    Gerenciamento de conta

    Requisitos para ir à produção

    Obter pagamentos

    Relatórios

    Devoluções e cancelamentos

    Gestão de estornos

    Melhora a aprovação

    Recursos

    Localização

    Changelog

    Status

NESTA PÁGINA

Sugerir alterações
Ajude-nos a melhorar a documentação
Você viu informações equivocadas, gostaria que explicássemos algo a mais ou que melhorássemos nossos manuais? Deixe suas sugestões no GitHub.

Notificações Webhooks

Um webhook é uma notificação enviada de um servidor a outro mediante uma chamada HTTP POST para informar sobre suas transações.

Para receber as notificações dos eventos na sua plataforma, deve-se configurar previamente uma URL acessível ao Mercado Pago.

Você também pode configurar a notificação quando fizer o POST do pagamento, indicando no campo notificaction_url:

json

{
    "transaction_amount":100,
    ....
    "notification_url":"http://requestbin.fullcontact.com/1ogudgk1",
    ....
}

Eventos

Importante
Um evento é qualquer tipo de atualização no objeto relatado, incluindo alterações de status ou atributo.

Sempre que ocorrer um evento, enviaremos uma notificação no formato json usando HTTP POST para a URL especificada.

Notificaremos os seguintes eventos:

Tipo de notificaçãoAçãoDescrição
paymentpayment.createdCriação de pagamento
paymentpayment.updatedAtualização de pagamento
mp-connectapplication.deauthorizedDesvinculação de conta
mp-connectapplication.authorizedVinculação de conta
planapplication.authorizedVinculação de conta
subscriptionapplication.authorizedVinculação de conta
invoiceapplication.authorizedVinculação de conta

O Mercado Pago enviará notificações com o seguinte cronograma de novas tentativas e prazos para sua confirmação. Você deve retornar um HTTP STATUS 200 (OK) ou 201 (CREATED) antes do final do prazo correspondente. Caso contrário, será entendido que você não o recebeu corretamente e você será notificado novamente.

Se precisar de mais informações, confira a seção “O que devo fazer quando receber uma notificação?”.

EventoPrazo após o primeiro envioTempo de espera de confirmação
Envio-22 segundos
Primeira tentativa5 minutos5 segundos
Segunda tentativa45 minutos5 segundos
Terceira tentativa6 horas5 segundos
Quarta tentativa2 dias5 segundos
Quinta tentativa4 dias5 segundos

A notificação tem o seguinte formato:

json

{
    "id": 12345,
    "live_mode": true,
    "type": "payment",
    "date_created": "2015-03-25T10:04:58.396-04:00",
    "application_id": 123123123,
    "user_id": 44444,
    "version": 1,
    "api_version": "v1",
    "action": "payment.created",
    "data": {
        "id": "999999999"
    }
}

Isso indica que foi criado o pagamento 999999999 para o usuário 44444 em modo de produção com a versão V1 da API. Este evento ocorreu na data 2016-03-25T10:04:58.396-04:00.

O que devo fazer ao receber uma notificação?

Quando você recebe uma notificação na sua plataforma, o Mercado Pago aguarda uma resposta para validar que você a recebeu corretamente. Para isso, você deve retornar um HTTP STATUS 200 (OK) ou 201 (CREATED).

É recomendável que você responda à notificação antes de executar a lógica de negócios ou antes de acessar recursos externos para não exceder os prazos de resposta estimados.

Essa comunicação é exclusiva entre os servidores do Mercado Pago e o seu, portanto, não haverá usuário físico vendo nenhum tipo de resultado.

Depois disso, você deve obter as informações completas do recurso notificado acessando o terminal correspondente da API:

TipoURLDocumentação
paymenthttps://api.mercadopago.com/v1/payments/[ID]ver documentação
planhttps://api.mercadopago.com/v1/plans/[ID]-
subscriptionhttps://api.mercadopago.com/v1/subscriptions/[ID]-
invoicehttps://api.mercadopago.com/v1/invoices/[ID]-

Com essas informações, você poderá realizar as atualizações necessárias na sua plataforma, por exemplo: atualizar um pagamento aprovado.

Importante
Lembre-se de que, se os prazos de resposta forem excedidos, é possível receber notificações duplicadas de um evento.

Implemente o receptor de notificações usando o seguinte código como exemplo:

php

 <?php

    MercadoPago\SDK::setAccessToken("ENV_ACCESS_TOKEN");

    switch($_POST["type"]) {
        case "payment":
            $payment = MercadoPago\Payment.find_by_id($_POST["id"]);
            break;
        case "plan":
            $plan = MercadoPago\Plan.find_by_id($_POST["id"]);
            break;
        case "subscription":
            $plan = MercadoPago\Subscription.find_by_id($_POST["id"]);
            break;
        case "invoice":
            $plan = MercadoPago\Invoice.find_by_id($_POST["id"]);
            break;
    }

?>

Receber apenas um tipo de notificação

Se deseja receber notificações apenas de Webhooks, e não de IPN, você pode adicionar na notification_url o parâmetro source_news=webhooks. Como por exemplo:

https://www.yourserver.com/notifications?source_news=webhooks

A alteração não afeta os parâmetros já incluídos no URL.
Essas informações foram úteis?

Copyright © 1999-2021 MercadoLibre Perú S.R.L.

Termos e condiçõesComo cuidamos da sua privacidade
Partners Mercado Pago

Al navegar en este sitio aceptas las cookies que utilizamos para mejorar tu experiencia. Más información.