Webhooks

Reveniu le permite recibir notificaciones automáticas cuando se ha producido un evento asociado a su cuenta.

Seguridad

En el header de todos los webhooks que enviamos, agregamos la variable Reveniu-Secret-Key, con el mismo secret key que definiste en tus configuraciones. De esta forma tienes la seguridad de que es Reveniu quien está enviando los eventos.

Puedes ver mas información en la sección de Autenticación

Eventos disponibles

A continuación lista de notificaciones disponibles en los siguientes eventos:

  • Suscripción activada (subscription_activated)

  • Renovación cancelada (subscription_renewal_cancelled)

  • Suscripción desactivada (subscription_deactivated)

  • Pago realizado ( subscription_payment_succeeded)

Si al iniciar un checkout por API incluiste un external_id en el payload, el campo subscription_external_id estará siempre en las respuestas de webhooks relacionadas a esa suscripción. Si no, el campo siempre aparecerá como null

Mas detalles en la referencia API

Suscripción activada

subscription_activated

Evento gatillado cuando una suscripción es exitosamente completada por el usuario (registrando un medio de pago recurrente). Puedes usarlo para habilitar la funcionalidad para ese usuario, enviar los productos o gatillar un correo de bienvenida. Se hará una petición POST al url definido por ti en tu panel de administración de API

Recuerda en tus webhooks validar que el header Reveniu-Secret-Key corresponda a tu secreto. Así evitas que otros que no seamos nosotros inyecten maliciosamente información en tu sistema.

Cuerpo del webhook:

[POST]
{
  "event": "subscription_activated",
  "data": {
            "subscription_id":1482,
            "subscription_external_id":"EXTERNAL ID STRING" | null
  }
}

Renovación cancelada

subscription_renewal_cancelled

Evento gatillado cuando un usuario o admin cancela la renovación de una suscripción explícitamente. Nota que la suscripción puede seguir activa hasta su fecha de expiración (ej: el usuario pagó un plan anual, pero después de 6 meses decide cancelar la renovación)

El evento incluye campos que indican las razones del usuario para cancelar la renovación. Se hará una petición POST al url definido por ti en tu panel de administración de API

Recuerda en tus webhooks validar que el header Reveniu-Secret-Key corresponda a tu secreto. Así evitas que otros que no seamos nosotros inyecten maliciosamente información en tu sistema.

Cuerpo del webhook:

[POST]
{
  "event": "subscription_renewal_cancelled",
  "data": {
      "subscription_id": 123,
      "subscription_external_id":"EXTERNAL ID STRING" | null,
      "cancelled_by": "user", // podría ser "admin" 
      "cancel_reason": "too_expensive",
      "feedback": "Pensé que el precio era anual pero ahora vi que era un pago mensual y na que ver poh"
    ...
  }
}

Suscripción desactivada

subscription_deactivated

Evento gatillado cuando una suscripción deja de estar activa. Esto puede ocurrir por distintos motivos:

  • El usuario abandonó la suscripción sin cancelarla explicitamente. El abandono ocurre cuando un medio de pago falla y el usuario después de repetidos avisos no ingresa un nuevo medio de pago.

  • También ocurre cuando un usuario ha cancelado explicitamente la renovación de la suscripción y el período de la suscripción ya ha concluido.

  • Y también puede haber sido cancelada explicitamente por el comercio en su panel de gestión y también ha culminado el período de la suscripción previamente pagado.

Aún así es posible revivir la suscripción si desde el comercio incentivas al usuario a ingresar un nuevo medio de pago a través de la URL indicada en reactivate_url. Se hará una petición POST al url definido por ti en tu panel de administración de API

Recuerda en tus webhooks validar que el header Reveniu-Secret-Key corresponda a tu secreto. Así evitas que otros que no seamos nosotros inyecten maliciosamente información en tu sistema.

Cuerpo del webhook:

[POST]
{
  "event": "subscription_deactivated",
  "data": {
            "subscription_id": 11530,
            "subscription_external_id":"EXTERNAL ID STRING" | null, 
  }
}

Pago realizado

Webhook: subscription_payment_succeeded

Evento gatillado cuando se realiza automáticamente el cobro recurrente de una suscripción. Puedes usarlo para marcar que el usuario está al día en sus pagos. Se hará una petición POST al url definido por ti en tu panel de administración de API

Recuerda en tus webhooks validar que el header Reveniu-Secret-Key corresponda a tu secreto. Así evitas que otros que no seamos nosotros inyecten maliciosamente información en tu sistema.

Cuerpo del webhook:

[POST]
{
	"event": "subscription_payment_succeeded",
  "data": {
		"subscription_id":INTEGER,
                "subscription_external_id":"EXTERNAL ID STRING" | null,
		"buy_order":INTEGER,
		"issued_on":"DD/MM/AAAA",
		"gateway_response":0 (INTEGER),
		"subscription_external_id": STRING, 
		'amount': FLOAT
  }
}

Pago rechazado

Webhook: subscription_payment_in_recovery

Evento gatillado cuando un cobro falla pero Reveniu está recuperando automáticamente el problema. Te recomendamos no suspender el servicio durante el período de recuperación. En la mayoría de los casos, nuestro motor de reintentos o la recaptura de un medio de pago resuelve el problema.

En caso que el problema no se resuelva, el webhook subscription_abandoned_by_user será gatillado. Se hará una petición POST al url definido por ti en tu panel de administración de API

Cuerpo del webhook:

[POST]
{
	"event": "subscription_payment_in_recovery",
  "data": {
                "subscription_id":1482,
                "subscription_external_id":"EXTERNAL ID STRING" | null,
		"buy_order":202012121212,
		"issued_on":"DD/MM/AAAA",
		"gateway_response":-1|-2|-3|-96
  }
}

Ejemplo: Recibiendo webhooks al crear una suscripción

Last updated