MDH GROUP · BLOG

Conectar proveedores de pagos por Webhook: automatizar PayPal, Wise y Stripe Connect con Affilentra

Los comerciantes que pagan automáticamente comisiones a socios reducen trabajo manual, evitan errores y aceleran liquidaciones. Affilentra proporciona exportaciones de pagos y webhooks como puntos de entrega. En la práctica se necesita una pequeña middleware de integración.

← Todos los artículos

Conectar proveedores de pagos por Webhook: automatizar PayPal, Wise y Stripe Connect con Affilentra

Por qué las integraciones de pagos controladas por Webhook son importantes

Los comerciantes que abonan las comisiones de sus socios de forma automática reducen el esfuerzo manual, evitan errores y aceleran las liquidaciones. Affilentra proporciona exportaciones de pagos y webhooks como puntos de entrega. En la práctica se necesita una pequeña middleware de integración que reciba los datos de exportación, los transfiera a proveedores externos de pagos (PayPal Payouts, Wise, Stripe Connect), informe los cambios de estado y genere justificantes contables. Este artículo muestra con precisión qué configuraciones y pasos son necesarios.

Resumen breve: arquitectura y responsabilidades

  • Affilentra: genera exportaciones de pagos y dispara eventos de webhook con los lotes de pago.
  • Middleware (su sistema o un pequeño servicio conector): valida el webhook, mapea campos, llama a las APIs del proveedor, procesa callbacks de los proveedores, crea justificantes y escribe el estado de vuelta en Affilentra.
  • Proveedor de pagos (PayPal, Wise, Stripe Connect): ejecuta los pagos y proporciona referencias de pago / webhooks para el estado final.

Requisitos antes de la integración

  • Instalación de Affilentra (self‑hosted) con el sistema de webhooks y la función de exportación habilitados. SSL para el endpoint del webhook.
  • Cuenta y credenciales API en los proveedores destino (acceso sandbox para pruebas).
  • Middleware con endpoint HTTPS, almacenamiento persistente (BD) y capacidad para generar archivos/PDFs y adjuntarlos a Affilentra.

Paso 1: definir correctamente la exportación de pagos en Affilentra

Configure en Affilentra una exportación de pagos que proporcione todos los campos necesarios. Formato recomendado: JSON o CSV con UTF‑8. Campos importantes:

  • payout_id (ID interna única)
  • partner_id / partner_identifier
  • payee_type (email | iban | account_id)
  • payee_address (correo electrónico, IBAN, ID de cuenta bancaria)
  • amount (decimal, p. ej. 123.45)
  • currency (código ISO, p. ej. EUR)
  • gross / net / fee (si deben desglosarse)
  • description / reference

Importante: incluya un campo para una referencia externa (provider_reference) y un campo de estado (pending / sent / failed / reconciled) — la middleware los rellenará.

Paso 2: configurar el webhook en Affilentra

  • Crear un endpoint de webhook en Affilentra que envíe un evento al ejecutar una exportación de pagos (p. ej. payout_exported).
  • Proteger el evento del webhook con una firma HMAC (Shared Secret). La middleware debe verificar esta firma contra las cargas recibidas.
  • Configurar reintentos en Affilentra (p. ej. 3 intentos con backoff exponencial) y documentar los errores en logs.

Paso 3: Middleware – flujo y puntos de implementación

La middleware es el elemento central. Tareas principales:

  • Validación de Webhook (firma, esquema, comprobación de duplicados).
  • Mapeo: convertir la exportación de Affilentra al payload del proveedor.
  • Llamada al proveedor: crear lotes, establecer Idempotency‑Keys, gestionar errores de API.
  • Gestión de estado: procesar las respuestas del proveedor, notificar el estado de vuelta a Affilentra.
  • Generación de justificantes: generar PDF/CSV/JSON, adjuntarlos al pago y remitirlos a contabilidad.

Ejemplos de mapeo (orientados a la práctica)

  • PayPal: mapear payee_address → receiver_email, amount + currency → amount, utilice sender_batch_id = payout_id.
  • Wise: si hay IBAN, crear el Recipient, generar una Quote (si hay cambio de divisa) y Transfer con reference = payout_id.
  • Stripe Connect: para cuentas conectadas utilice el parámetro destination o envíe Payouts en nombre del Connected Account; si procede, ejecute primero un Transfer.

Particularidades del proveedor y consejos

  • PayPal Payouts: utilice Batch‑Payouts para mayor eficiencia; establezca sender_batch_id para idempotencia; almacene payout_item_id y batch_status para reconciliación posterior.
  • Wise: cree el destinatario (recipient) una vez y reutilice la recipient_id; tenga en cuenta el posible paso de Quote en cambios de divisa.
  • Stripe Connect: compruebe si su flujo debe usar Transfers a cuentas conectadas o cuentas bancarias externas; utilice Idempotency‑Keys y liste balance_transfers.

Notificación de estado a Affilentra y reconciliación

Así garantiza procesos de contabilización fiables:

  • Inmediatamente tras la respuesta del proveedor: actualice los Payouts de Affilentra con provider_reference, status = sent (o failed) e información de fees.
  • Implemente un listener para los Webhooks del proveedor (p. ej. Webhooks de PayPal/Stripe). Al recibir un estado final (SUCCESS/FAILED/COMPLETED), la middleware actualiza el estado en Affilentra.
  • Realice reconciliaciones periódicas: contraste la exportación de Affilentra, los informes del proveedor y los extractos bancarios; registre y alerte sobre las diferencias.

Generación automatizada de justificantes contables

Los justificantes automatizados son requisito para una contabilidad auditablemente segura. Procedimiento:

  • Genere por cada pago un justificante en PDF con los siguientes datos: payout_id, partner_id, nombre/dirección del partner, bruto/neto/comisiones, divisa, referencia de pago del proveedor, timestamp.
  • Adjunte además el recibo del proveedor (descarga por API de PayPal/Stripe/Wise) como anexo al Payout en Affilentra o guárdelo en el sistema contable.
  • Formatos de exportación: CSV para importes masivos, PDF para justificantes individuales, opcionalmente XML/compatible con DATEV según el sistema contable destino.

Gestión de errores, idempotencia y operación

  • Idempotencia: use claves únicas en el proveedor (p. ej. payout_id como sender_batch_id) para evitar pagos duplicados.
  • Reintentos: implemente estrategias de backoff ante errores temporales y una cola de revisión manual si persisten los errores.
  • Monitorización y alertas: registre los payloads de webhook, las respuestas del proveedor y las diferencias en la conciliación; configure alertas ante desviaciones.
  • Pruebas en sandbox: realice integraciones de comprobación en el modo Sandbox de los tres proveedores antes de poner en marcha en producción.

Caso práctico: flujo de una devolución de pago (descripción breve)

1) Affilentra genera una exportación de Payout y lanza payout_exported a su middleware. 2) La middleware valida, mapea campos y llama a la API del proveedor. 3) El proveedor confirma con una referencia → la middleware actualiza Affilentra con status=sent y provider_reference. 4) El proveedor envía el webhook final (p. ej. completed) → la middleware marca status=reconciled, deduce comisiones y crea un comprobante en PDF que se adjunta a Affilentra.

Conclusión y siguiente paso

La integración técnica de los payouts de Affilentra con PayPal, Wise y Stripe Connect mediante webhooks es un proceso claramente estructurado: exportación limpia, entrega segura del webhook, middleware con mapeo al proveedor, retroalimentación de estado fiable y generación automática de comprobantes. Así, los comerciantes mantienen el control sobre las condiciones y la trazabilidad, mientras los socios disponen de historiales de pago transparentes.

Actúe ahora: Elija un inicio: discuta sus requisitos y el entorno de pruebas con el equipo de Affilentra y comience la integración. Más información y contacto: https://affilentra.de

Siguiente paso

Probar Affilentra usted mismo

Plataforma unificada que reúne de forma transparente la puesta a disposición de productos, el tracking, la validación de conversiones, el cálculo de comisiones y el pago con roles claramente diferenciados; opción de instalación self-hosted con licencia perpetua sin participación en ingresos; los comerciantes conservan el control sobre productos, condiciones y material promocional; los socios reciben enlaces de seguimiento personales y un historial de pagos verificable.

Elija inicio