API RecebeAqui
Checkout
POST Criar Checkout GET Consultar Checkout PUT Cancelar Checkout POST Criar Checkout transparenteGerenciamento de Pagamentos
Cancelar Pagamento RealizadoAssinaturas/Recorrências
POST Criar Recorrência GET Consultar Recorrências GET Pagamentos da RecorrênciaWebhook
Os webhooks do RecebeAqui permitem que você receba notificações automáticas sobre pagamentos realizados com sucesso.
O que são Webhooks?
Webhooks são notificações HTTP enviadas automaticamente pelo RecebeAqui para o seu sistema sempre que eventos importantes acontecem em sua conta.
Eventos notificados:
- Pagamentos aprovados: Quando um cliente efetua um pagamento com sucesso
Como Cadastrar um Webhook
Para configurar webhooks em sua conta RecebeAqui, siga os passos abaixo:
- Faça login na sua conta RecebeAqui
- Acesse a área de API no seu Perfil
- Preencha a URL do webhook no campo indicado
- Clique em Salvar para ativar as notificações
💡 Dica Importante
Certifique-se de que sua URL de webhook esteja funcionando e aceite requisições POST antes de configurá-la.Estrutura do Payload
Quando um evento ocorre, o RecebeAqui enviará uma requisição POST para sua URL com o seguinte formato JSON:
{
"EventType": "pagamento_aprovado",
"EventDate": "2024-01-15 11:47:02.273",
"Payment": {
"Id": "b8c1f3a2-9d4e-4f6c-91e5-2a8f1f0b9e21",
"PaymentType": "CREDITO",
"PaymentDate": "2024-01-15 11:47:02.273",
"PaidBy": "Cliente Teste",
"AmountPaid": 99.99,
"Installments": 1,
"Status": "ATIVA",
"CardType": "**** **** **** 1234",
"CardBrand": "VISA"
}
}
| Campo | Tipo | Descrição |
|---|---|---|
EventType |
string |
Tipo do evento
Opções: PAGAMENTO_APROVADO. |
EventDate |
string | Data e hora do evento |
Payment.Id |
string | Identificador único do pagamento |
Payment.PaymentType |
string | Tipo do pagamento
Opções: CREDITO, PIX, BOLETO. |
Payment.PaymentDate |
string | Data/hora da captura do pagamento |
Payment.PaidBy |
string | Nome do pagador |
Payment.AmountPaid |
decimal | Valor pago |
Payment.Installments |
int | Número de parcelas |
Payment.Status |
string | Status atual do pagamento |
Payment.CardType |
string | Número mascarado ou tipo do cartão |
Payment.CardBrand |
string | Bandeira do cartão (ex: VISA) |
Implementando seu Endpoint
Seu endpoint deve aceitar requisições POST e retornar status HTTP 2xx para indicar sucesso. Exemplo de implementação:
[HttpPost("webhook/pagamento")]
public IActionResult ReceberWebhook([FromBody] WebhookPayload payload)
{
try
{
// Processar o pagamento recebido
var payment = payload.Payment;
// Sua lógica de negócio aqui
ProcessarPagamentoAprovado(payment);
return Ok();
}
catch (Exception)
{
// Retornar erro fará o sistema tentar novamente (até 3x)
return StatusCode(500, "Erro interno");
}
}
<?php
// webhook.php
header('Content-Type: application/json');
$payload = json_decode(file_get_contents('php://input'), true);
try {
if ($payload['EventType'] === 'pagamento_aprovado') {
$payment = $payload['Payment'];
processarPagamento($payment);
http_response_code(200);
echo json_encode(['status' => 'success']);
}
} catch (Exception $e) {
http_response_code(500);
echo json_encode(['error' => $e->getMessage()]);
}
?>
const express = require('express');
const app = express();
app.use(express.json());
app.post('/webhook/pagamento', (req, res) => {
try {
const payload = req.body;
if (payload.EventType === 'pagamento_aprovado') {
const payment = payload.Payment;
processarPagamento(payment);
res.status(200).json({ status: 'success' });
}
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3000);
Política de Tentativas
O sistema de webhooks do RecebeAqui possui as seguintes características:
- Máximo 3 tentativas de envio por webhook
- Timeout de 30 segundos por tentativa
- Sucesso: qualquer resposta HTTP 2xx (200, 201, 204, etc.)
- Retry: qualquer resposta diferente de 2xx ou timeout
- Finalização: após sucesso ou 3 tentativas falhadas
⚠️ Importante
Certifique-se de que seu endpoint responda rapidamente (menos de 30 segundos) e retorne status 2xx para evitar tentativas desnecessárias.Segurança
Para garantir a segurança dos webhooks:
- Use HTTPS em sua URL de webhook
- Valide sempre os dados recebidos
- Implemente verificação de origem se necessário
- Mantenha logs dos webhooks recebidos