One-time payment - button with Stripe modal

You could have a whole separate workflow in your app of creating products and prices through API calls.

https://stripe.com/docs/api/products/create
https://stripe.com/docs/api/prices/create

Maybe except it might then create tons of duplicates. The purpose here could be a few hundred users.

They might add an order with 5 items like:

Service 1 $88
Service 2 $871
Service 3 $175
Service 4 $135
Service 5 $ 544

Total $1,813

Each of those services have a unique price for this particular order. The only thing we need to tell Stripe is information about the customer (name, email, address), who the user is that’s collecting the charge, and the payment information (method, price).

It’s really just a “charge” of the amount of the order.

Now let’s say a completely different user needs to process an order. They may enter 3 items, where “Service 1” and “Service 2” have the same name but the total for those items are:

Service 1 $35
Service 2 $433

Total: $468

Rather than associating the items to Stripe products, we’re just capturing a charge for the total. Inside of Tadabase we’ll know what makes up the order and can present the data in some charts and tables.

Hey @moe I’ve tried Beta builder as well as production. Installed the Stripe pipe, added the key, but not seeing the Subscription option appear.

Hi Moe,

Will this solution work for online restaurant ordering application?

Hi Moe,

I have Stripe account and I am currently building a online food ordering system for a restaurant owner client of mine. I am looking at different payment gateway options for my Tadabase app shown below. Question for you - do you know if it is possible to use Stripe pipe to achieve this?

Using Stripe for one time payments gets a bit tricky especially if you want to pass the list of products.
Most of the Stripe transactions require more than one API call to accomplish a single thing. This multi call requirement really complicates things.

In your screenshot I see the total on the bottom. Your ultimate goal is when someone clicks on the total they can put in a credit card number and process the credit card for that amount?

I’m sure with the right amount of hacks this can be achievable, but it would be a bit tricky.

Yes Moe, that is correct. It would work like all other online food ordering system whereby customer selects dishes from food menu then checks and confirms ‘cart’, then proceeds to ‘checkout’ for payment.

I built a solution in GoDaddy with Strip payment, its not ideal because the food menu navigation is restricted and is really designed for storefront with small number of products. I also built around 5 solutions last year using WordPress, Elementor/Beaver, Woo Product Table by Barn with several other plugins including PayPal.

link and screenshot is built on GoDaddy and uses Stripe account which i opened yesterday.

https://mahekcheshunt.com/

Had a meeting today with these people (FlipDish) and they have it all working so it is possible.

Hi @moe,

I’ve got this working except for one small issue.

The Javascript on the details page with the Checkout ID only triggers about half the time. When it doesn’t trigger on its own, I have to manually refresh the page to get it to trigger and direct me to the Stripe checkout page.

This is the error I’m getting in Chrome Console:

Is there a trick to get it to trigger every time?

UPDATE: I changed

window.setTimeout(checkFlag, 100);

to

window.setTimeout(checkFlag, 200);

and it works just about every time now.

Are there any tweaks we could make to the code to ensure the JS runs every time?

@moe @tim.young

I’ve got this working, but I want to also pass the customer’s email address to the Stripe checkout page. Do I accomplish that with a pipe parameter or with Javascript? I’ve tried both and neither is working for me, although there’s a very good chance I’m doing something wrong. Any assistance you could provide would be greatly appreciated!

UPDATE:
I figured it out. I had to add customer_email to the Request tab as well as the Parameter tab in the pipe. I had only added it as a parameter.

Hey @mattb,

You can set up an additional pipe parameter. I have an example of this I can show you.

I will get back to you tomorrow!