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

    Inicio

    Começando

    Pagamentos online

    Checkout Pro

    Checkout API

    Link de pagamento

    Assinaturas

    Marketplace

    Mobile Checkout

    Web Tokenize Checkout

    Pagamentos presenciais

    Código QR

    Mercado Pago Point

    Plugins e plataformas

    WooCommerce

    Prestashop

    Magento 2

    Shopify

    Tiendanube

    VTEX

    SDKs

    Notificações

    Webhooks

    IPN

    Gerenciamento de conta

    Relatórios

    Obter pagamentos

    Melhora a aprovação

    Gestão de estornos

    Devoluções e cancelamentos

    Requisitos para entrar em produçã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?

Mercado Pago ofrece servicios de pago y no está autorizado por el Banco Central a operar como entidad financiera. Los fondos acreditados en cuentas de pago no constituyen depósitos en una entidad financiera ni están garantizados conforme legislación aplicable a depósitos en entidades financieras. Copyright © 2021 MercadoLibre S.R.L.

Termos e condiçõesComo cuidamos da sua privacidade
Central de vendedores

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