Simular um payload de webhook do Stripe
Um mock GET que retorna um evento payment_intent.succeeded no formato do Stripe, pronto para alimentar o seu handler de webhook.
Este modelo fornece uma URL ativa que retorna um evento payment_intent.succeeded no formato do Stripe, para que você possa construir e depurar um handler de webhook sem acionar pagamentos reais. Aponte seu handler para a URL, ou copie o payload diretamente para um fixture de teste. Ele reproduz a forma do evento, não a assinatura do Stripe — portanto, é a ferramenta certa para lógica de análise e a ferramenta errada para verificar o Stripe-Signature.
Retorna um evento pronto — alimente-o diretamente no seu próprio handler.
Payload de resposta
{
"id": "evt_1QsErTLl2dK9Nqi7",
"object": "event",
"type": "payment_intent.succeeded",
"created": {{now.unix}},
"data": {
"object": {
"id": "pi_3QsErTLl2dK9Nqi71m2XvBnR",
"object": "payment_intent",
"amount": 4999,
"currency": "usd",
"status": "succeeded"
}
}
}
Campos que valem a pena conhecer
| Campo | O que significa |
|---|---|
| id | Um ID de evento sintético — os IDs reais do Stripe seguem a mesma forma evt_... mas nunca são reutilizados. |
| type | O tipo de evento em que o seu handler baseia as condições; mude-o para acionar um caminho de código diferente. |
| created | Timestamp Unix do evento, gerado de forma nova em cada chamada através de {{now.unix}}. |
| data.object.amount | O valor da cobrança em unidades menores (centavos) — 4999 significa $ 49.99. |
| data.object.status | O status do payment_intent; edite o corpo da resposta para testar outros estados, como requires_action. |
Criar o mock
curl -X POST https://quickmock.dev/api/mocks \
-H 'Content-Type: application/json' \
-d '{
"method": "GET",
"response_status": 200,
"content_type": "application/json",
"response_body": "{\"id\":\"evt_1QsErTLl2dK9Nqi7\",\"object\":\"event\",\"type\":\"payment_intent.succeeded\",\"created\":{{now.unix}},\"data\":{\"object\":{\"id\":\"pi_3QsErTLl2dK9Nqi71m2XvBnR\",\"object\":\"payment_intent\",\"amount\":4999,\"currency\":\"usd\",\"status\":\"succeeded\"}}}"
}'
Chame-o
curl https://quickmock.dev/m/<slug>
O que você obtém
GET /m/<slug> -> 200 a Stripe-style payment_intent.succeeded event
data.object.amount is in minor units (cents)
Como isso difere do original
Este é um evento estático reduzido de um payload real do Stripe — sem cabeçalho Stripe-Signature, sem objetos reais por trás dos IDs. Use-o para moldar a lógica de análise (parsing) do seu handler, não para testar a verificação de assinatura.
Fontes
- Stripe: the payment_intent.succeeded event
- Stripe: webhook endpoints and delivery
- Stripe: verifying webhook signatures
FAQ
- Esta é a API real do Stripe?
- Não. É um evento estático reduzido de um payload real do Stripe e servido a partir da sua própria URL de mock. Os IDs são sintéticos e não há nada por trás deles — nenhuma cobrança, nenhum cliente, nenhum objeto real para buscar.
- Posso testar a verificação de assinatura com isso?
- Não, e isso é deliberado. Não há cabeçalho Stripe-Signature, porque produzir um exigiria o segredo de assinatura do Stripe. Teste a verificação usando a própria CLI do Stripe; use isso para tudo depois que a verificação de assinatura passar.
- Como eu testo um tipo de evento diferente?
- Edite o corpo da resposta e altere o campo type, além do que o novo evento carrega em data.object. Essa é a maneira mais rápida de exercitar uma parte do seu handler que você não pode acionar facilmente no modo de teste do Stripe.
Pronto para usar?
Combina bem com este guia: Testar um receptor de webhook
Modelos relacionados
Última atualização: 2026-10-17