¿Es compatible añadir suscriptores a un grupo con la tabla de precios de Stripe?

Usando el plugin de Suscripciones con la tabla de precios de Stripe, ¿todavía es posible agregar suscriptores a grupos?

He cambiado a usar la tabla de precios de Stripe para listar mis productos, en lugar del plugin de Suscripciones. Los suscriptores ya no se agregan a mi grupo de usuarios especificado (para la suscripción original creada en Discourse, desde que se agregó a mi tabla de precios). Los nuevos productos creados en Stripe tampoco aparecen en el plugin de suscripciones de Discourse, como pensé que lo hacían antes de cambiar a la tabla de precios.

¿Es este el comportamiento esperado, o he roto algo en el proceso?

Si es esperado, ¿puedo ayudar a agregar una línea a la guía del plugin, para resaltar las consecuencias de cambiar a la tabla de precios?

Investigaré los consejos sobre webhooks e integración, pero cualquier indicación sobre cómo automatizar la adición de suscriptores a un grupo será muy apreciada :pray:

Gracias.

1 me gusta

Sí, pero debes asegurarte de haber creado los productos desde Discourse y no desde Stripe.

Creando el producto desde Discourse primero:

Una vez que hayas creado el producto en Discourse, crearás un plan para él donde especificarás el precio y el grupo:

Luego, desde Stripe, cuando crees la tabla de precios, debes seleccionar solo los productos creados desde Discourse:

Luego, cuando un usuario se suscriba, se agregará al grupo elegido:

2 Me gusta

Y si tienes cosas que no creaste con Discourse y que quieres que Discourse conozca (y eres autoalojado), puedes probar rake subscriptions:subscriptions_import

2 Me gusta

Gracias por esta detallada respuesta, @blake. Configuré los productos y planes en Discourse y marcaré esto como la solución una vez que se pruebe.

Parece que los cupones y códigos de promoción se transfieren felizmente entre Stripe y Discourse. Mi prueba final es si la integración todavía se comporta después de agregar una descripción y características de marketing al producto en Stripe (para poblar la tabla de precios).

2 Me gusta

Gracias por la pista adicional, @pfaffman :smiley:

1 me gusta

El fin de semana alguien compró mi producto+plan creado en Discourse y no se le añadió a mi grupo especificado. Parece que editar el producto+plan en Stripe después de crearlo en Discourse rompe de alguna manera esta integración.

También lo he probado yo mismo comprando una suscripción y no se me ha añadido al grupo especificado.

Si alguien puede aconsejarme sobre cómo probar esto más a fondo para averiguar dónde fallan las cosas, estaré encantado de hacerlo.

También voy a investigar otras formas de integrar los pagos de Stripe con Discourse.

1 me gusta

Lo siento, esto todavía no funciona :thinking:

Menos mal que lo mencionaste, creo que puede haber un problema separado con los pagos únicos. Acabo de probarlo localmente y estoy viendo un error con la llamada webhook que probablemente hace que no agregue al usuario al grupo o que la transacción aparezca en la página de facturación del usuario.

Veré si puedo encontrar una solución de código para que las futuras transacciones funcionen.

2 Me gusta

De acuerdo, he creado una corrección de código para este problema. Si actualizas tu plugin de suscripciones a la última versión, debería funcionar para todos los nuevos pagos únicos con la tabla de precios.

2 Me gusta

¡Genial! Gracias por la rápida solución :smiley:

Lo probaré yo mismo y con los clientes, y marcaré esto como la solución una vez que esté seguro de que funciona como se espera.

1 me gusta

Lamento informar que la corrección de su código no ha resuelto el problema. He tenido cuatro compras de dos clientes diferentes desde la actualización, y ninguna se agregó a los grupos. Tampoco puedo ver ningún pago o suscripción en sus páginas de facturación.

Creo que la corrección del código ha cambiado una cosa: los productos que creé en Discourse desde que actualicé el plugin de Suscripciones ahora están etiquetados con los metadatos repurchaseable: false en Stripe. Sin embargo, al producto creado antes de la corrección del código no se le han agregado esos metadatos (se ha comprado).

¡Avíseme qué puedo hacer para ayudar a diagnosticar el problema!

En primer lugar, ¡felicidades por todos los registros que estás recibiendo, eso es genial! Lamento que las cosas sigan sin funcionar del todo bien con el plugin de suscripción. En mi configuración local, los usuarios se añaden a grupos una vez que se registran, así que sé que puede funcionar. Investigaré un poco más y luego te enviaré un mensaje privado para preguntarte sobre algunos detalles de tu configuración para que podamos llegar al fondo de este asunto.

2 Me gusta

Okay, pude replicar sus problemas en un entorno de producción que configuré para probar el plugin. Sé que lo primero que hay que arreglar es agregar checkout.session.completed como un evento para su webhook existente.

Si falta, Stripe no enviará la información de pago de la tabla de precios a Discourse.

Eso debería ser todo lo que tiene que hacer, pero puede que haya otra corrección de código que necesite hacer y que estoy investigando actualmente.

2 Me gusta

Hola Blake,

Tengo el mismo problema. Después de comprar, lo cual se muestra correctamente en Stripe, la actualización del usuario no funciona:

¡Espero que puedas ayudar!

¡Muchas gracias de antemano!

1 me gusta

Gracias por investigar más a fondo, Blake. He actualizado mi webhook de Stripe para añadir checkout.session.completed

¡Volveré cuando tenga noticias de éxito/fracaso!

Nota para mí mismo: encontrar webhooks en https://dashboard.stripe.com/webhooks/. Instalé el plugin de Suscripciones por primera vez hace varios años, así que estaba un poco oxidado en la configuración…

Stripe me dice que no ha habido intentos de webhook en los últimos 15 días, por lo que obviamente hay un bloqueo en las comunicaciones en algún lugar.

En tu página de webhooks, ¿tienes una URL como https://tu-sitio-de-discourse/s/hooks?

Además, deberás asegurarte de que el secreto de firma del webhook coincida con lo que tienes en Discourse:

No estoy seguro si esta es una pregunta para mí o para @marpoe, pero sí, tengo la URL correcta de Discourse en Stripe y el secreto correcto de Stripe en Discourse. Sé que el webhook está mayoritariamente funcionando porque Stripe crea productos y planes en respuesta a que yo los configuro en Discourse :smiley:

¡Añadir el evento checkout.session.completed al webhook funcionó! :partying_face:

Acabo de hacer una compra de prueba y mi usuario se añadió correctamente al grupo.

Gracias por el tiempo y la reflexión que dedicaste a solucionar este error con los pagos únicos.

3 Me gusta

¡Esto también me funcionó! ¡Muchas gracias!

1 me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.