Pular para o conteúdo principal

Catálogo de eventos

O consumidor assina somente a lista abaixo. O type público remove o prefixo gateway. ou gateway.payment. e a versão. gateway.payment.charge.paid.v1 e gateway.payment.charge.paid.v2 viram o mesmo charge.paid. payout.completed sai de gateway.payout.completed.v2.

Não existe checkout_session.paid. Os tipos de sessão são checkout_session.created, checkout_session.completed e checkout_session.expired.

O filtro * pode ser gravado no endpoint, mas não é um type emitido. A allowlist interna de prefixos aceitaria outros nomes charge., checkout_session., subscription., invoice., customer., affiliate., refund., payout. e dispute. se eles chegassem ao consumidor. Hoje o consumidor não assina esses extras. Documente apenas os tipos inscritos, mais o ping webhook.test.

Tipos inscritos​

  • apikey.rotation_warning
  • charge.cancelled
  • charge.created
  • charge.disputed
  • charge.expired
  • charge.failed
  • charge.paid
  • charge.partially_refunded
  • charge.payment_failed
  • charge.refunded
  • charge.under_review
  • charge.updated
  • checkout_session.completed
  • checkout_session.created
  • checkout_session.expired
  • dispute.lost
  • dispute.opened
  • dispute.won
  • refund.completed
  • refund.failed
  • refund.requested
  • refund.unknown
  • payout.completed
  • payout.failed
  • subscription.activated
  • subscription.canceled
  • subscription.canceled_due_to_payment_failure
  • subscription.card_updated
  • subscription.created
  • subscription.ended
  • subscription.initial_payment_settled
  • subscription.invoice.paid
  • subscription.invoice.payment_failed
  • subscription.past_due
  • subscription.paused
  • subscription.payment_failed
  • subscription.payment_method_update_required
  • subscription.payment_unknown
  • subscription.plan_change_scheduled
  • subscription.plan_changed
  • subscription.reactivated
  • subscription.recovered
  • subscription.resumed
  • subscription.retention_coupon_applied
  • subscription.unpaid
  • subscription.updated

Corpo​

{"id":"<event id>","type":"charge.paid","data":{}}

data copia só os campos da allowlist que existem na origem, ou o objeto data explícito limitado à mesma allowlist. additionalProperties fora dessa lista não seguem. Se merchant_id faltar, o consumidor acrescenta o do evento. O ping de cadastro é a exceção: o corpo é exatamente {"id":"webhook.test","type":"webhook.test","data":{"ping":true}}, e ping é boolean.

Em charge.*, charge_id é alias de aggregate_id e amount_cents é alias de gross_amount_cents quando o campo público ainda não veio preenchido. Em payout.*, payout_id é alias de aggregate_id e amount_cents é alias de net_amount_cents. O aviso apikey.rotation_warning não inclui secret.

Campos possíveis, com o tipo que a origem já trouxe (não há um tipo único por campo; days_before já chegou como string): aggregate_id, api_key_id, grace_until, days_before, amount_cents, attempt_number, cancelled_at, charge_id, checkout_session_id, coupon_id, currency, customer_id, discount_applied_cents, environment, fee_cents, from_status, invoice_id, invoice_sequence, merchant_id, net_amount_cents, next_billing_date, occurred_at, paid_at, paused_at, payment_link_id, payment_method, payout_id, payout_state, plan_id, product_id, reactivated_at, recorded_at, requested_amount_cents, resumed_at, status, subscription_id, to_status.

A assinatura MuPag-Signature cobre esse JSON cru. X-Gateway-Event-Id e X-Gateway-Timestamp acompanham a entrega, e X-Gateway-Signature repete o HMAC-SHA256.

Esta página liberou seu próximo passo?

O feedback permanece no fluxo da documentação e nunca deve incluir dados de clientes ou cartões.

mupag / suporte

Como podemos ajudar?

Respostas rápidas, IA e nossa equipe.

Perguntas frequentes

Como começar a integrar?

Siga o início rápido, configure o ambiente de QA e faça sua primeira cobrança de teste.

Ler documentação
Meu PIX ainda está pendente. E agora?

A confirmação é assíncrona. Confira o status da cobrança e os eventos de webhook antes de liberar o pedido.

Ler documentação
Como receber notificações de pagamento?

Cadastre um endpoint de webhook, valide a assinatura e processe eventos repetidos com segurança.

Ler documentação
Como funcionam as assinaturas?

Consulte o guia de assinaturas para configurar recorrência e acompanhar o ciclo das cobranças.

Ler documentação
Onde encontro ajuda com autenticação?

Veja como usar as credenciais do ambiente na documentação. Nunca compartilhe sua chave no chat.

Ler documentação