Stripe Charge Reloads Stripe

I’m having trouble with charging users using the Bubble Stripe Plugin.

When the page is loaded, I call the action ‘charge the current user’. Sometimes, when a user inputs their information it reloads the stripe payment page and asks the user for their information all over again. When a user inputs their information again - it charges them twice and then they are able to move forward in the process.

Am I missing something in the setup? Not sure why it’s attempting to charge them twice.

1 Like

Same problem here

@faye.hayes @olivierbuigues

Is this first happening that the User inputs the information in your application or a Stripe Hosted Checkout Page?

In my case, what happens systematically is:

  1. The user loves my product and decides to buy :wink:.
  2. The user makes a successful payment, on the Stripe page.
  3. The plugin sends the user back to the payment page on Bubble.
  4. In the bubble payment workflow, the last action is to navigate to the Thank-You page.
  5. As bubble is not very fast, the user sees the payment page before the Thank-You page is loaded… The user is confused, thinks that the payment didn’t go through… clicks on payment again and can repeat this action in a loop…

I didn’t find an option on the Bubble Stripe plugin to load a specific page after payment. Did I miss something? How do you deal with this problem?

Is there a setting on the Plugin for the page to redirect the user back to? If there is you could change it to another page other than the product page.

Could you share a screen shot of that? I’m mostly interested in knowing the ‘Trigger’ event and knowing which actions are processing data to know how better resolve the issue.

In my apps I use the Stripe API and no plugin for more flexibility and control over the entire process. When doing this on redirect to my app after successful payment on Stripe Hosted Checkout Page there is a session id parameter in the URL and a path of ‘success’.

This is my Trigger and workflow

If the Bubble plugin is giving a workflow trigger based on a successful payment, I’m sure they are just looking at the URL to determine that, so instead of relying on their trigger you could create something like mine, and what you’d do is capture that ‘session_id’.

From there you could immediately navigate them to the thank you page and pass that session_id along, so that when on the thank you page you run the workflow to process the payment worklfow.

If you are interested in learning how to use the Stripe API and everything else associated with a complete Stripe integration from webhooks, backend workflows, shopping cart with multiple products and much more, you may find my Stripe Integration Course beneficial.

1 Like

Thank you for your answer.

The plugin doesn’t have the option to go to a next page after payment.

The workflow that I have is the following:

  1. I block the possibility for the user to click twice on the payment button.
  2. I show a wait message
  3. I charge the customer using the plugin
  4. I create the invoice
  5. I credit the user account
  6. I go to the thank you page.

I’m interested in your course (great interface), but before buying it, I’d like some information:

  1. Does it go through B2B and B2C cases? In the case of B2B, the VAT number has to be checked and the VAT is 0%. In case of B2C, the VAT has to be paid by the customer in the country where the customer is located. By law, in the EU, the country information can’t be just entered by the client. There has to be at least 2 automatic sources (like the Credit Card Country or the IP address) that have to confirm that information.
  2. I saw there’s a section on Invoice. Is the Invoice created by Stripe or Bubble?

Thanks again,

Olivier

Hi Olivier

In regards to the course it doesn’t not have a focus on VAT, however, as the course is very comprehensive in regards to the Stripe API, if you needed to utilize VAT, I personally would believe you’d be equipped to do so.

If at the end of the course you are not able to implement it, I’d be willing to help you get that put together. There are various ways to make use of VAT using the API.

The invoice is created by Stripe. I personally don’t believe in recreating the wheel, so where Stripe already provides for certain functions, I opt to let Stripe do it. If you needed to create an invoice for letting a user send to a client for future payment, again I think that would be something you’d be fully equipped to setup after the course.

I’ve done invoice by creating it in Bubble and having a completely dynamic number of invoice line items sent and either allowing the user to create an invoice with previously created products/items or to create them on the fly when creating the invoice. The process of doing so is similar to the process covered in the course for letting users purchase multiple products or multiple subscriptions.

Cheers

Matt

In my case, I had to move the ‘subscribe user to a plan’ out of the page is loaded workflow.

When stripe charges a customer it goes back to the previous page which caused the checkout page to load again (because it was under the page is loaded workflow).

I changed it to charge users after they press a button and now it works just fine.