| Resumen | El plugin Discourse Subscriptions permite a los propietarios de sitios vender suscripciones recurrentes y compras únicas que otorgan acceso a un grupo en una instancia de Discourse. | |
| Guía de instalación | Este plugin viene incluido con el núcleo de Discourse. No es necesario instalar el plugin por separado. |
El plugin Discourse Subscriptions te permite crear suscripciones únicas y recurrentes que los usuarios pueden pagar para acceder a contenido restringido. Esta puede ser una excelente manera de financiar los costos de alojamiento de tu comunidad.
Funcionalidades
El plugin Discourse Subscriptions admite las siguientes funcionalidades:
- Crear nuevos productos y planes desde el panel de administración
- Cancelar y reembolsar suscripciones desde el panel de administración
- Crear planes de compra única o suscripción recurrente
- Añadir pruebas gratuitas en suscripciones recurrentes
- Soporte para SCA/3D Secure
- Añadir/eliminar usuarios de los grupos de planes a medida que se suscriben/cancelan
- Cancelar suscripción desde el perfil del usuario
- Cancelación de suscripción al final del período de suscripción
- Soporte opcional para Stripe Checkout
- Cálculo y recolección automática de impuestos sobre las ventas
- Los usuarios pueden actualizar su tarjeta para suscripciones individuales
El botón «Suscribirse» ubicado en la navegación superior te llevará a la página de Suscripción /s donde se enumeran las suscripciones que has configurado para tu sitio:
Una vez que un usuario hace clic en el botón «Suscribirse» de un plan específico, se abrirá la página de pago para ese plan:
Después de que un usuario completa sus datos de pago y su dirección y hace clic en «Suscribirse», se le muestra un mensaje de «¡Gracias!» y se le lleva a su página de facturación:
El usuario también se añade automáticamente a un grupo de tu elección para que puedas ver fácilmente qué usuarios se han suscrito, así como proporcionar contenido restringido en categorías solo visibles para ese grupo.
Términos
- Suscripción: Las suscripciones son un plan de pago recurrente que te permite controlar el acceso al contenido de tu comunidad. Cuando se crea o elimina una suscripción, un usuario se añade o se elimina del grupo de usuarios que asocias con tu plan de suscripción. Una suscripción está compuesta por un producto y planes.
- Producto: En términos de Stripe, un producto es lo que estás vendiendo. Un producto puede contener uno o más planes.
- Para añadir una descripción a tu producto, añade un campo de metadatos llamado «description» y úsalo en su lugar. Puedes usar Markdown.
- Plan: Un plan contiene un precio, un ciclo recurrente y se asocia con un grupo al que tus suscriptores obtienen acceso.
Ten mucho cuidado de mantener tus claves privadas de Stripe seguras y protegidas en todo momento.
Si apagas tu instancia de Discourse, desinstalas este plugin o tu sitio se desconecta, Stripe seguirá facturando a tus clientes por tu servicio hasta que se cancele la suscripción.
Configuración
- Instala y habilita el plugin
- Configura la pasarela de pago (Stripe)
- Configura Webhooks y Eventos en Stripe
- Añade tus claves de Stripe (pública, secreta, secreto del webhook) bajo Admin > Plugins > Installed > Subscriptions > Settings
/admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions. - Crea un grupo para que tus suscriptores se unan mediante la compra
- Crea un producto y un plan bajo Admin > Plugins > Subscriptions
- ¡Gana dinero!
Configura tu pasarela de pago.
En primer lugar, necesitarás una cuenta con la pasarela de pago Stripe. Para empezar, puedes configurar una cuenta en modo de prueba y ver cómo funciona todo sin realizar transacciones reales ni tener que configurar una cuenta bancaria. No hay un interruptor de modo de prueba en el plugin; en su lugar, asegúrate de usar tus claves de desarrollador (comienzan con pk_test, sk_test)
Configura Webhooks y Eventos en tu cuenta de Stripe
Los Webhooks son obligatorios para que las cancelaciones de suscripción funcionen completamente. Asegúrate de que están configurados correctamente.
Una vez que tengas una cuenta en Stripe, necesitarás decirle a Stripe la dirección de tu sitio web para que pueda notificarte sobre ciertas transacciones. Puedes ingresar esto en tu panel de Stripe bajo Endpoints > URL.
Dirección de Webhooks: [tu dirección del servidor]/s/hooks – donde [tu dirección del servidor] es la URL de tu instalación de Discourse.
También necesitarás decirle a Stripe qué eventos debe notificarte a través de la URL del webhook.
Actualmente, Discourse Subscriptions responde a los siguientes eventos:
customer.subscription.deletedcustomer.subscription.updatedcheckout.session.completed
Añade las claves de API y Webhook de Stripe a la configuración de tu plugin
Stripe necesita estar autorizado para comunicarse con tu sitio web. Para hacer esto, publica un par de claves de API privadas y públicas y un secreto de firma para tus webhooks.
Para autorizar los webhooks, añade las claves de API y el secreto del webhook de Stripe a tu página de configuración (bajo Developers).
Añadir claves de producción hará pagos reales. Si planeas probar, asegúrate de cambiar al modo
View test datay obtener las clavespk_testysk_testbajo Developers.
En la configuración de tu cuenta de Stripe, consulta:
Añade estas claves bajo la configuración apropiada en Admin > Plugins > Installed > Subscriptions > Settings /admin/site_settings/category/discourse_subscriptions?filter=plugin%3Adiscourse-subscriptions.
Configura tus Grupos de Usuarios en Discourse
Cuando un usuario se suscribe con éxito a tu aplicación Discourse, después de que se haya procesado la transacción de su tarjeta de crédito, se añade a un Grupo de Usuarios. Al asignar usuarios a un Grupo de Usuarios, puedes gestionar a qué tienen acceso tus usuarios en tu sitio web. Los grupos de usuarios son una funcionalidad central de Discourse y este plugin no hace nada con ellos excepto añadir y eliminar usuarios del grupo que asociaste con tu Plan.
Crea uno o más productos con planes.
Bajo Admin > Plugins > Subscriptions, haz clic en añadir un nuevo Producto. Una vez que tengas un producto guardado, puedes añadir planes a él. Ten en cuenta que los precios y los intervalos de facturación de los planes no se pueden cambiar una vez que los creas. Esto es para evitar confusiones en la gestión de suscripciones.
Si echas un vistazo a tu Panel de Stripe, verás que todos esos productos y planes están listados. Discourse Subscriptions no los crea localmente. Se crean en Stripe.
Pruebas
Prueba con estos números de tarjeta de crédito:
- 4242 4242 4242 4242
- 4111 1111 1111 1111 (no se requiere autenticación)
- 4000 0027 6000 3184 (se requiere autenticación)
Para más números de tarjetas de prueba: Test card numbers | Stripe Documentation
Visita /s y realiza algunas transacciones de prueba.
Ir a producción
Una vez que estés listo para ir a producción, cambia tus claves de API y secreto de webhook a claves de producción. Necesitarás crear nuevos productos y planes en modo de producción.
Ten en cuenta que si no configuras correctamente los webhooks de Stripe, y los pagos recurrentes no se procesan por cualquier motivo (tarjeta de crédito vencida, etc.), los usuarios seguirán teniendo acceso al grupo. Para que Stripe cancele automáticamente las suscripciones, asegúrate de configurar tu Gestión de pagos fallidos de manera similar a la imagen a continuación y configura los webhooks como se describe anteriormente.
Actualizar información de pago
Los usuarios pueden actualizar su tarjeta utilizada para suscripciones individuales visitando la página de facturación y haciendo clic en el botón de editar junto a la suscripción, lo que abrirá esta pantalla:
Stripe Checkout con Stripe Pricing Tables
También puedes optar por reemplazar las páginas de producto y checkout del plugin de Suscripción y en su lugar usar Stripe Checkout con Stripe Pricing Tables.
En tu Panel de Stripe:
- Después de haber creado los productos en Discourse, ve a Products > Product catalog
- Haz clic en el producto que deseas incluir en la tabla de precios
- Haz clic en
Edit product More Optionse ingresa lo siguiente bajoMetadata:- Key:
group_name - Value: El nombre del grupo en Discourse (por ejemplo,
trust_level_0)
- Key:
- Haz clic en
Update productpara guardar
Asegúrate de que el nombre del grupo coincida con el grupo seleccionado bajo
User_Groupsen Discourse
Crea tu tabla de precios de Stripe
- Ve a Products > Pricing tables
- Crea una nueva tabla y añade los productos que acabas de crear
- Después de publicar la tabla, copia el ID de la tabla de precios encontrado dentro del código de inserción (comienza con
prctbl_...) - Pega el ID de la tabla de precios en tu
discourse_subscriptions_pricing_table_idy habilita la configuración de la tabla de precios de suscripciones. - Haz clic en las marcas de verificación verdes para guardar ambas configuraciones.
Paso recomendado:
Al configurar la Pricing Table dentro de Stripe, se recomienda vincular al usuario a tu sitio después de que se complete el checkout, de lo contrario, se quedarán en una página de confirmación de Stripe sin un enlace de vuelta a tu sitio.
Redirigir a https://<tusitio>/my/billing/subscriptions es una buena opción para suscripciones. Para pagos únicos, podrías enlazar directamente a https://<tusitio>/my/billing/payments.
Recolección automática de impuestos
Para habilitar la Recolección Automática de Impuestos, marca la casilla de la configuración del sitio discourse_subscriptions_enable_automatic_tax.
Si lo habilitas, pero no has configurado correctamente tu instancia de Stripe para cobrar impuestos, los usuarios pueden ver este popup después de completar el proceso de checkout:
Hay esta guía para más información, pero no debería haber mucho que hacer ya que el plugin ahora pasa el parámetro automatic_tax[enabled]=true apropiado (paso 5).
Asegúrate de configurar tus registros (paso 4) también:
Aquí hay un ejemplo de una transacción del plugin Discourse Subscription en Stripe que muestra que el impuesto se cobró automáticamente:
Configuraciones
| Nombre | Descripción |
|---|---|
| discourse subscriptions enabled | Habilita el plugin Discourse Subscriptions. |
| discourse subscriptions extra nav subscribe | Muestra el botón de suscribirse en la navegación principal |
| discourse subscriptions public key | Clave Publicable de Stripe |
| discourse subscriptions secret key | Clave Secreta de Stripe |
| discourse subscriptions webhook secret | Secreto del Webhook de Stripe |
| discourse subscriptions currency | Código de Moneda Predeterminado. Esto puede ser sobrescrito al crear un plan de suscripción. |
| discourse subscriptions campaign enabled | Habilita un banner de campaña para promover el apoyo financiero a esta comunidad. |
| discourse subscriptions campaign goal | La meta numérica para tu campaña de apoyo (suscriptores o cantidad recaudada). |
| discourse subscriptions campaign type | Selecciona el tipo de campaña a ejecutar (suscriptores o cantidad mensual recaudada). |
| discourse subscriptions campaign banner location | Selecciona la ubicación del banner de campaña (parte superior o barra lateral). |
| discourse subscriptions campaign banner bg image | Sube una imagen personalizada para usar como fondo en el banner de campaña. |
| discourse subscriptions campaign banner shadow color | Selecciona el color de la sombra del banner de campaña. |
| discourse subscriptions campaign show contributors | Muestra los avatares de las compras más recientes de productos de suscripción. |
| discourse subscriptions campaign product | El ID del producto de Stripe para enviar a los partidarios cuando hacen clic en el botón de la campaña. Si esta configuración está en blanco, los partidarios serán dirigidos a la página principal de productos. |
| discourse subscriptions campaign grant | Otorga al usuario un mes gratis de suscripciones |
| discourse subscriptions pricing table id | El ID de la tabla de precios de Stripe del código de inserción |
| discourse subscriptions pricing table enabled | Habilita el uso de la tabla de precios de Stripe y reemplaza la página de suscribirse existente |
| discourse_subscriptions_enable_automatic_tax | Alterna si se recogerá el impuesto sobre las ventas. Requiere alguna configuración en Stripe. |
| discourse_subscriptions_enable_verbose_logging | Habilita un registro más detallado para ayudar en la depuración. Por favor, no lo dejes habilitado permanentemente en producción. |
¿Alojado por nosotros? Este plugin está disponible en nuestros planes de alojamiento Pro, Business y Enterprise Subscriptions | Discourse - Civilized Discussion















