Suscripciones con tabla de precios - respuesta de cliente no encontrado

¡Hola a todos! Tengo un problema y he estado intentando solucionarlo durante unos días sin éxito, así que espero que alguien aquí pueda ayudarme :slight_smile:

Discourse 3.4.0.beta1-dev
Subscriptions 2.8.1 - f0b4984
Instalación Docker en VM Linux

He instalado y activado el plugin de suscripciones, y funciona la mayor parte del tiempo cuando se utiliza la tabla de precios integrada (ocasionalmente, un usuario no se añade a los grupos después de una suscripción, pero eso es un problema aparte, supongo).

Sin embargo, realmente necesito usar la tabla de precios y el checkout de Stripe por la UX familiar y la confianza que aportan. Con este fin, tengo todo configurado para webhooks, con todos los secretos, etc., configurados (actualmente estoy usando el modo de prueba, por lo que utilizo las claves y secretos del modo de prueba).

Puedo ir con éxito a la página de suscripción, pasar por el flujo de checkout desde la tabla de precios y completar la compra con las tarjetas de prueba.

Sin embargo, esto no resulta en la creación de ninguna suscripción en Discourse ni en ningún cambio en los grupos de los usuarios, y al mirar los webhooks en el panel de control de Stripe, veo que están recibiendo una respuesta 422 con el cuerpo:

{
  "errors": [
    "customer not found"
  ]
}

He probado esto con varios usuarios diferentes y el resultado siempre es el mismo.

Habiendo mirado en la base de datos, no veo los clientes mencionados en el webhook de Stripe en la tabla discourse_subscriptions_customers, ni ninguna suscripción correspondiente en la tabla discourse_subscriptions_subscriptions - lo cual supongo que podría ser esperado ya que la llamada al webhook nunca se está procesando.

Como información adicional, he verificado que las llamadas webhook de Stripe pueden tener éxito en general: si tengo desactivada la opción “usar tabla de precios de Stripe” y paso por el checkout integrado para crear una suscripción, todo funciona bien; y si luego cancelo la suscripción desde Stripe, el webhook customer.subscription.deleted llega sin problemas.

Espero haber hecho algo tonto y que no esté configurado correctamente, pero realmente me cuesta averiguar qué necesito hacer para que funcione.

¡Gracias de antemano!
Ross

1 me gusta

Lamento que esté teniendo problemas, pero gracias por plantear este asunto. Esperamos poder averiguar qué está pasando. La primera pregunta que tengo es si los productos que ha seleccionado para la tabla de precios son los que ha creado desde dentro de Discourse o si se crearon dentro de Stripe.

Estoy recibiendo este error también en mi entorno de producción que configuré, pero no localmente, así que es un poco difícil de depurar. ¡Pero lo estoy investigando!

Gracias por la respuesta :slight_smile:

Lo he intentado de ambas maneras, inicialmente tenía productos configurados en Stripe y luego encontré hilos aquí que sugerían que debían crearse dentro de Discourse, así que cambié a hacer eso en su lugar. Sin embargo, sigo viendo el mismo problema.

Supongo (y disculpas si es incorrecto) que el enlace a los grupos está impulsado por los metadatos del producto. Veo esto debajo de ahí:

(El group_name varía según el nivel de precio, que es lo que esperaría según cómo tengo configuradas las cosas en Discourse).

Gracias por investigar esto, házmelo saber si hay algo más que pueda hacer para ayudar :slight_smile:

He creado una solución para la respuesta de cliente no encontrado con la tabla de precios. Si actualiza su plugin de suscripciones e inténtalo de nuevo, debería funcionar ahora.

2 Me gusta

Disculpas por la demora en responder, y gracias de nuevo por revisarlo :slight_smile:

Acabo de actualizar todo e hice una prueba rápida, y sigo viendo la misma respuesta (es decir, cliente no encontrado) a los webhooks de Stripe.

¿Crees que tal vez debería crear una tabla de precios / conjunto de productos completamente nueva y probar con eso, para descartar cualquier problema que pueda haber quedado de pruebas anteriores (utilicé un usuario nuevo para esta prueba, pero los productos son los que ya estaban de antes).

¿Puede confirmar nuevamente qué tiene para el hash de commit debajo del número de versión en la página /admin/plugins?

¿Y esto es para una suscripción o una compra única con la tabla de precios?

Agregué una nueva configuración para el plugin de suscripción para depuración. Se llama discourse_subscriptions_enable_verbose_logging. Una vez que esté habilitada, puede visitar /logs e intentar el proceso de pago nuevamente y ver si hay alguna salida. Siéntase libre de enviarme algunas capturas de pantalla en un mensaje privado y podré ayudarlo a depurar las cosas más a fondo.

Claro, sin problemas. El hash de confirmación que tengo es el mismo que en tu captura de pantalla, f1b9c96 :slight_smile:

Esto es para una suscripción, con la tabla de precios.

Vale, genial, gracias. Intentaré habilitar esa configuración y echaré un vistazo a los registros :slight_smile:

Gracias de nuevo por tu ayuda :slight_smile:

2 Me gusta