One-off AND recurring payments management with Stripe

Hello all,

I’m currently developing an application that offers both one-off (aka one-time) purchases and subscription options, and I need some guidance regarding my Stripe configuration in Bubble.

I’ve followed Bubble official tutorials for setting up Stripe with API Connector, but since these tutorials focus exclusively on subscriptions, I’ve had to adapt the configuration to accommodate both one-off purchases and recurring subscriptions.

My current setup includes:

  • Two endpoints in Bubble: “Checkout Session One Off” and “Checkout Session Recurring”

  • Two webhooks in Stripe that both listen to the same “checkout.session.completed” event

The issue I’m facing is that for each “checkout.session.completed” event sent by Stripe, one webhook works correctly while the other fails.

This is because each Bubble endpoint has a specific condition - one triggers when the payment mode is “payment” and the other when it’s “subscription”.

Capture d’écran 2025-03-07 à 09.22.51

Capture d’écran 2025-03-07 à 09.23.34

I’d appreciate your advice on this configuration.

Would it be better to consolidate everything into a single “Checkout Session” webhook in Bubble and Stripe that contains all the necessary actions for both one-off payments and subscriptions? This approach seems like it might be more efficient and reduce the number of failed webhook events on Stripe side

On the other end, this approach of having a single checkout session in Bubble would still result in failed event/error logs for each action in the workflow whose condition is not met (related to payment mode or subscription).

Do you have any recommendations or best practices for handling both one-off payments and subscriptions in Bubble with Stripe that would minimize error logs/failed events both in Bubble and Stripe while maintaining reliable payment processing?

Thank you for your precious help!