Webhooks WooshPay #
O WooshPay usa webhooks para notificar seu aplicativo quando ocorre um evento em sua conta. Os webhooks são particularmente úteis para eventos assíncronos, como quando o banco de um cliente confirma um pagamento, quando um cliente contesta uma cobrança ou quando cobra pagamentos de assinatura. Você pode configurar pontos de extremidade de webhook por meio da API para ser notificado sobre eventos.
Etapas para criar e receber webhooks #
Você pode começar a receber notificações de eventos no seu aplicativo usando as etapas desta seção:
- Identifique os eventos que você deseja monitorar e os eventos cargas úteis a serem analisadas.
- Crie um ponto de extremidade de webhook como um ponto de extremidade HTTP (URL) em seu servidor local.
- Tratar as solicitações do WooshPay analisando cada objeto de evento e retornando
2xx
códigos de status de resposta. - Implante seu endpoint de webhook para que seja um URL HTTPS acessível publicamente.
- Registre seu URL HTTPS acessível publicamente por meio de um objeto webhook.
Como criar um ponto de extremidade de webhook #
Criar um ponto de extremidade de webhook não é diferente de criar qualquer outra página em seu site. Trata-se de um endpoint HTTP ou HTTPS em seu servidor com um URL. Se você ainda estiver desenvolvendo seu endpoint em seu computador local, ele poderá ser HTTP. Depois que estiver acessível ao público, ele deverá ser HTTPS.
Etapa 1. Identificar os eventos a serem monitorados #
Use o guia de referência da API para identificar os eventos do Wooshpay e seus objetos de evento que o ponto de extremidade do webhook precisa analisar.
Etapa 2: Criar um webhook #
Configure um ponto de extremidade HTTP em seu computador local que possa aceitar solicitações de webhook não autenticadas com um método POST.
Solicitação
{
"url": "https://apitest.wooshpay.com/v1/receives",
"description" (descrição): "Eu sou a descrição",
"enabled_events": [
"payment_intent.created",
"payment_intent.payment_failed",
"payment_intent.requires_action",
"payment_intent.succeeded",
"payment_intent.canceled",
"charge.refund.updated"
],
"api_version": "1.0.1"
}
Resposta
{
"id": "we_1600745739909070848",
"object": "webhook_endpoint",
"created": 1670482499000,
"description" (descrição): "Eu sou a descrição",
"metadata": nulo,
"secret": "c2tfdGVzdF9kR1Z6ZERwMFpYTjBNVEl6TkRVMjo=",
"status": "enabled" (habilitado),
"url": "https://apitest.wooshpay.com/v1/receives",
"livemode": falso,
"api_version": "1.0.1",
"enabled_events": [
"payment_intent.created",
"payment_intent.payment_failed",
"payment_intent.requires_action",
"payment_intent.succeeded",
"payment_intent.canceled",
"charge.refund.updated"
]
}
Etapa 3: Tratar as solicitações do WooshPay #
Seu endpoint deve ser configurado para ler objetos de evento para o tipo de notificação de evento que você deseja receber. O WooshPay envia eventos para seu endpoint de webhook como parte de uma solicitação POST com uma carga útil JSON.
Retornar uma resposta 2xx
Seu endpoint deve retornar rapidamente um código de status bem-sucedido (2xx) antes de qualquer lógica complexa que possa causar um tempo limite.
Tentativas de entrega e novas tentativas #
Entenda como visualizar as tentativas de entrega, os registros de eventos e a lógica de nova tentativa quando os eventos de webhook não são reconhecidos.
Lógica de repetição
No modo ao vivo e de teste, o WooshPay tenta entregar seus webhooks por até três dias com um retorno exponencial, o que significa que, no total, entregaremos 18 vezes em 72 horas.
Lógica de webhook pendente
No modo ao vivo e de teste, o WooshPay tentará notificá-lo por e-mail sobre quaisquer webhooks malsucedidos se um endpoint não tiver respondido com um código de status HTTP 2xx. O e-mail não apenas informará o URL que não pode ser entregue, mas também quando deixaremos de entregar os webhooks e a melhor maneira de entrar em contato conosco.