Guía técnica para unificar webhook de PayPal sin código manual. Convierte el payload a JSON plano en menos de 100ms usando la API de traducción.
Cuando PayPal envía un evento de pago, el cuerpo del webhook contiene decenas de campos anidados. Unificar webhook implica extraer solo los datos relevantes y convertirlos a un formato plano que cualquier sistema pueda consumir sin lógica adicional.
El resultado esperado siempre sigue el mismo esquema de 6 campos:
{
"plataforma": "paypal",
"id_transaccion": "pi_3ABC...",
"monto": 49.99,
"moneda": "USD",
"cliente_email": "buyer@ejemplo.com",
"estado_pago": "aprobado"
}
Este es el payload crudo que PayPal envía a tu servidor:
{
"id": "WH-2WR32451HC0233532",
"event_type": "PAYMENT.CAPTURE.COMPLETED",
"resource": {
"id": "5TY05013RG002845M",
"status": "COMPLETED",
"amount": { "value": "49.99", "currency_code": "USD" },
"payer": { "email_address": "buyer@ejemplo.com", ... },
"seller_receivable_breakdown": { ... },
... 30+ campos más
}
}
Como ves, el objeto contiene campos innecesarios para la mayoría de los casos de uso. La API de traducción elimina el ruido y devuelve solo lo esencial.
Envía el webhook tal como llega con un parámetro de plataforma:
POST https://webhook-translator-microapi.vercel.app/?plataforma=paypal Content-Type: application/json [body del webhook de PayPal aquí]✓ Sin lógica adicional ✓ <100ms ✓ 500 llamadas gratis
// ⚠ Requiere mantener esta lógica por cada actualización de PayPal
const monto = event.data.object.amount_received / 100;
const email = event.data.object.customer_email
?? event.data.object.billing_details?.email;
// ... 20 líneas más para cubrir todos los casos edge
✗ Frágil ante cambios de API
Usa la API que normaliza Stripe, Shopify y PayPal en un JSON plano uniforme. 500 llamadas gratis al mes.
Obtener acceso gratuito →