Stripe Integration: Subscription Workflow Issues

Hello! I recently encountered a problem with Stripe and am stuck; I can’t figure it out at all. Thank you in advance for any help or advice!

To subscribe a user for a subscription, after they choose the one they want, they are directed to the customer portal, fill out all the info, and then come back. I use the Stripe plugin for that. You can see the workflow in the pictures.

Everything was working fine just a couple of days ago. Now I encounter a problem: after the user returns to the platform, it seems that Bubble doesn’t detect the successful purchase. It doesn’t show a success message or even go to the second step of the workflow. (In Stripe, I see that the subscriptions were acquired and everything looks as it should, all good).

If I enable the option to update the existing subscription, after a couple of tries clicking on the button, it seems that Bubble finally detects the data and everything falls into place. I just can’t figure out why it’s not working after the subscribe to the plan action.

Recently, we changed our main domain, but it seems it doesn’t affect anything as everything else is working fine. All API keys in the plugin are also correct.

Right now, we are in the process of integrating Stripe Connect so we would be able to make a marketplace, and users will become sellers, but they still have to have the option to get a platform subscription nevertheless. Maybe they can’t work together? Is there a chance that the Stripe plugin and Stripe Connect - Marketplace plugin can’t coexist? I am just running out of ideas for what can cause that problem.

No. All plugins are just basically preconfigured API calls, so it makes it a bit easier for a user to integrate rather than needing to setup all the calls themselves, so there really should be no reason two different stripe plugins can not both function together…HOWEVER, some plugins, like the one by Bubble, have some built in functionality to store the data but not transfer that to the database for you to have access to easily (ie: can not see the values in the app data from the editor), but you can use dynamic expressions to retrieve the data values. Because of this, it can be confusing sometimes to try and use the bubble stripe plugin in conjunction with other stripe plugins.

Might be a bug.

Check the logs to see what is happening on the first step

This is how it looks. Does everything seem fine? Once again, on the Stripe dashboard, I see a new customer and that they acquired a subscription.

I found this as the success URL. Maybe it could be the reason why it’s glitching? Does it need the data after page name? Do you happen to know where it can be changed? I don’t see the field in the plugin, and in the customer portal, I left the return URL field blank (tried both with a blank one and filled out, result was the same).

I don’t think it can be when using the bubble plugin, which is part of the reason to have the most control over your integration with Stripe it is advisable to setup the API calls yourself.

There could be an issue with the plugin though, which wouldn’t be a stretch of the imagination to believe is possible. Likely the issue is that the plugin actions are not recognizing the resume parameter as present, or perhaps the plugin is not always sending the resume parameter when making the call.

If you are using the stripe plugin by bubble reach out to bubble support as a bug report…if using a 3rd party developer plugin, reach out to them.

What is also concerning here, is the cancel URL has no value to pass back to indicate a cancellation for you to perform some much needed functionality of enticing the user with a discount or perhaps just keeping them in the checkout flow.

And in this instance the customer email is set because the customer didn’t exist yet in your Stripe dashboard and is a new customer, for which Stripe automatically creates a new customer object in stripe when performing a checkout for a subscription.

BTW, updating a subscription is such that you need to pass in the subscription item id otherwise stripe will just add another subscription to the user, rather than changing their subscription.