Suscripciones de Discourse - aclarar "Cancelar al final del ciclo"

Continuando la discusión de Discourse subscriptions - changing price - how to cancel auto-renewal instead of whole subscription:

Solicitud de función: Sería bueno que el usuario pudiera elegir cancelar la suscripción al final del ciclo, en lugar de solo poder cancelarla inmediatamente.

He visto esto en la documentación de Stripe, bajo el encabezado “Cancelar al final del ciclo”:

Si en cambio desea cancelar la suscripción al final del período de facturación actual (es decir, durante el tiempo por el que el cliente ya ha pagado), actualice la suscripción con un valor de cancel_at_period_end de true:

Puede reactivar suscripciones programadas para cancelación (con el parámetro cancel_at_period_end) actualizando cancel_at_period_end a false. Puede reactivar la suscripción en cualquier momento hasta el final del período.

1 me gusta

Resulta que el usuario puede hacer lo que pedí (ahora he cambiado “permitir” por “aclarar” en el título)… así que aquí hay dos nuevas pero relacionadas…

Solicitudes de características: La redacción predeterminada debe aclarar los dos tipos de cancelación. La interfaz de administración debe tener la misma columna “Estado” que la interfaz de usuario.

Aquí hay algunos detalles…

Parece que “cancelar” en Discourse Subscriptions significa dos cosas diferentes dependiendo de quién lo haga. Para el usuario, solo cancela la renovación automática; para el administrador, cancela toda la suscripción inmediatamente.

  1. Si el usuario hace clic en el icono de la papelera en u/.../billing/subscriptions, la indicación es “¿Está seguro de que desea cancelar esta suscripción?”.

    Elegir Sí activa el webhook customer.subscription.updated.

    Dos partes notables de la respuesta son "cancel_at_period_end": true y "status": "active". La página de suscripción del usuario todavía muestra “Estado: Activo”, pero para “Renovaciones” ahora indica “cancelado”. El usuario permanece en el grupo suscrito.

    Molestamente, la interfaz de administración ahora no indica que la renovación automática se ha cancelado; solo tiene “Estado: activo”.

  2. Si el administrador hace clic en “cancelar” en /admin/plugins/discourse-subscriptions/subscriptions, la indicación nuevamente es "¿Está seguro de que desea cancelar esta suscripción? (también pregunta sobre si reembolsar).

    Elegir Sí activa el webhook customer.subscription.deleted.

    La respuesta incluye "status": "canceled". La suscripción se elimina en todas partes y el usuario se elimina del grupo suscrito.